Nextbird is a social media application built using the following technologies:
- Next.js
- TypeScript
- MongoDB
- Tailwind CSS
- Shadcn UI
- Clerk (for authentication)
- UploadThing (for handling image uploads)
This project serves as a practical implementation of concepts learned from a YouTube tutorial, with additional features and enhancements planned to be developed independently.
- User authentication and authorization using Clerk.
- Post creation and viewing.
- Commenting on posts.
- Image uploads handled by UploadThing.
- Responsive design with Tailwind CSS and Headless UI components.
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/md-talim/nextbird.git
-
Navigate to the project directory:
cd nextbird
-
Install the dependencies:
yarn
-
Create a
.env.local
file in the root directory and add the following environment variables:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=XXX CLERK_SECRET_KEY=XXX NEXT_CLERK_WEBHOOK_SECRET=XXX NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/onboarding NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding MONGODB_PASS=XXX MONGODB_URL=XXX UPLOADTHING_SECRET=XXX UPLOADTHING_APP_ID=XXX
-
Run the development server:
yarn run dev
-
Open your browser and visit:
http://localhost:3000
The Nextbird project aims to go beyond the tutorial by implementing the following features:
- Like Posts: Allow users to like posts and display the total number of likes.
- Delete Posts: Implement the ability for users to delete their own posts.
- Search for Accounts: Develop a search functionality to find user accounts.
Contributions are welcome! If you would like to contribute to this project by adding new features, fixing bugs, or enhancing the user experience, please follow these steps:
- Fork the repository.
- Create a new branch for your feature:
git checkout -b feature-name
- Make your changes and commit them:
git commit -m "Add feature-name"
- Push to the branch:
git push origin feature-name
- Create a pull request outlining your changes.
This project was initially built by following a YouTube tutorial (provide link or tutorial name). The foundational structure and concepts were learned from this resource. The enhancements and additional features were developed independently by the owner of this repository.
This project is licensed under the MIT License.