Welcome to the MERN YouTube Backend, a modern and production-ready implementation for managing user accounts, tweets, videos, and more. This project follows industry-standard practices and incorporates modern token-handling techniques for enhanced security. This backend provides a solid foundation for building a modern web application.
- ✨ Secure user authentication
- 🤖 User account management
- 🎬 Video management
- 🐦 Tweet management
- 🔐 Token handling
- 📤 File upload with Cloudinary & Multer
- 🗄 Storing files locally and in Cloudinary
- 📁 Multer for file upload
- 🚀 Modern database setup
- 🚨 Custom error handling
- And much more...
To get started, simply clone the repository and run npm install
to install the dependencies. Then, set up your environment variables and run npm run dev
to start the server.
The environment variables are stored in a .env file. You can find the .env.sample file in the root directory of the project. Copy the .env.example file and create a .env file. Fill in the environment variables with your values.
Contributions are welcome! If you would like to contribute to the project, fork the repository and create a pull request. We will review your pull request and merge it if it meets the project's standards.
This project is licensed under the MIT License - see the LICENSE file for details.
- Node.js for the runtime environment
- Express.js for Api development
- MongoDB for the database
- Mongoose for the ODM
- Cloudinary for file storage
- Multer for file upload
- bcrypt for password hashing
- jsonwebtoken for token handling
- cors for cross-origin resource sharing
- dotenv for environment variables
- nodemon for development
- mongoose aggregate paginate for pagination