This project is a Twitter-like web application developed using the MERN stack (MongoDB, Express.js, React.js, Node.js). It includes features such as video uploads, subscription plans, a reward system, multi-language support, and enhanced login security.
- Video Uploads: Users can upload videos as tweets or posts with restrictions on size and duration.
- Subscription Plans: Monthly and Yearly plans offering increased posting limits and premium features.
- Reward System: Points and badges awarded for user contributions and engagement.
- Multi-Language Support: Supports multiple languages with OTP verification for language changes.
- Login Security: OTP-based authentication and device tracking for enhanced security.
- Frontend: React.js, i18next for internationalization.
- Backend: Node.js, Express.js for API development.
- Database: MongoDB for data storage.
- Cloud Services: Cloudinary for video storage, Firebase for authentication, Render for hosting, Stripe for payment processing.
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Avinash-31/Twitter/.git cd Twitter -
Install dependencies:
cd frontend npm install cd ../backend npm install
-
Set up environment variables:
- Create a
.envfile in thebackenddirectory. - Add your MongoDB URI, Cloudinary API key, Stripe API keys, and other necessary environment variables.
- Create a
-
Run the server:
cd backend npm start -
Run the client:
cd frontend npm start -
Access the application:
Open your web browser and navigate to
http://localhost:3000to view the application.
- Avinash Yeddu
This project is licensed under the MIT License - see the LICENSE file for details.