This web application is inspired by the popular Thread app and is designed to provide users with a comprehensive platform for social interaction, content sharing, and community building. The application offers a secure and engaging environment where users can create and manage posts, join communities, interact with other users, and explore content through advanced search and filtering options. Additionally, the app leverages cutting-edge AI technologies, including the Gemini API and Hugging Face models, to enhance the user experience by enabling AI-assisted post creation.
- Next.js
- TypeScript
- Mongodb
- Next-Auth
- React Hook Form
- Zod
- TailwindCSS
- DaisyUI
- Cloudinary
-
Secure user signup and login with OTP verification.
-
Ability for users to view and update their profile details.
-
Users can create, edit, and delete posts.
-
Posts support multimedia content such as pictures, descriptions, and videos.
-
Posts can be tagged, allowing users to view all posts related to a particular tag.
-
Users can like and comment on posts.
-
Users can create and join communities.
-
Each community has an admin who can manage the community and its members.
-
Community members can create and delete posts within the community.
-
Comprehensive search functionality that allows users to search for other users, communities, topics, and posts.
-
Advanced filtering options to narrow down search results.
-
Users can follow other users and view posts from the people they follow on their homepage.
-
Homepage includes sections like "Home," "For You," and "Following" to categorize posts.
-
Integration with Gemini API and Hugging Face models for AI-assisted post creation.
-
AI models provide text-to-image and image-to-text capabilities to enhance content creation.
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/Ajor-Saha/Social-Media-Nextjs-App.git
cd Social-Media-Nextjs-App-main
Installation
Install the project dependencies using npm:
npm install
Start the project
npm run dev
Open http://localhost:3000 in your browser to view the project.
.env.example
EMAIL_USER=
EMAIL_PASS=
MONGODB_URI =
NEXTAUTH_SECRET =
GOOGLE_CLIENT_ID =
GOOGLE_CLIENT_SECRET =
CLOUDINARY_CLOUD_NAME =
CLOUDINARY_API_KEY =
CLOUDINARY_API_SECRET =
HUGGING_FACE_API_KEY=
API_KEY =
STABILITY_API_KEY =