The Rikio Backend serves as the core API and data processing unit for the Rikio platform, handling user authentication, video management, and other essential functionalities. Built with Node.js, Express, and MongoDB, it ensures robust performance and scalability.
🌐 Live Demo: rikio.vercel.app
- 🔑 User Authentication: Secure sign-up and sign-in mechanisms with JWT-based authentication.
- 🎥 Video Management: APIs to upload, retrieve, update, and delete video content.
- 🔍 Search Functionality: Efficient search endpoints to find videos based on various criteria.
- 💬 Commenting System: Comment on videos and tweets.
- 📊 Analytics: Track channel analytics.
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT)
- Password Hashing: Bcrypt
- Security & Cookies: Cookie-parser
- CORS Handling: Cors
- File Uploads: Multer & Cloudinary
- Email Service: Nodemailer
git clone https://github.com/rupam2232/Rikio-backend.git
cd Rikio-backendnpm installCreate a .env file in the root directory and add the following variables:
PORT=your-port
DB_NAME=your-db-name
MONGODB_URI=your-mongodb-uri
ACCESS_TOKEN_SECRET=your-access-token-secret
ACCESS_TOKEN_EXPIRY=your-access-token-expiry(e.g.3d)
REFRESH_TOKEN_SECRET=your-refresh-token-secret
REFRESH_TOKEN_EXPIRY=your-refresh-token-expiry(e.g.10d)
CLOUDINARY_CLOUD_NAME=your-cloudinary-name
CLOUDINARY_API_KEY=your-cloudinary-api-key
CLOUDINARY_API_SECRET=your-cloudinary-api-secret
CLOUDINARY_URL=your-cloudinary-url
EMAIL=your-email-address
EMAIL_PASSWORD=your-email-password
EMAIL_SERVICE=your-email-service-provider
NODE_ENV=development-or-productionnpm run devThe app will be available at http://localhost:PORT.
Rikio-backend/
│── src/
│ ├── controllers/ # Route handlers
│ ├── models/ # Mongoose schemas
│ ├── routes/ # Express routes
│ ├── middlewares/ # Custom middleware functions
│ ├── utils/ # Utility functions
│ ├── config/ # Configuration files
│ ├── db/ # Connects to the mongodb server
│ ├── app.js # setups cors and important middlewares
│ ├── index.js # Entry point
│── package.json # Project dependencies
Here are some example endpoints.
| Method | Endpoint | Description |
|---|---|---|
POST |
/users/register |
Register a new user |
POST |
/users/login |
Authenticate user |
GET |
/videos |
Fetch all videos |
GET |
/videos/:id |
Fetch a specific video |
We welcome contributions to improve Rikio Backend! 🚀
- Fork the repository.
- Create a new branch:
git checkout -b feature-name. - Commit your changes:
git commit -m 'Add new feature'. - Push to the branch:
git push origin feature-name. - Submit a Pull Request.
This project is licensed under the MIT License.
For questions, issues, or collaborations, reach out to:
Twitter
Linkedin