This project delivers a robust backend API for a YouTube-like platform, enhanced with Twitter integration. Built using concepts from Hitesh Choudhary's "Chai and Backend" series, it offers a comprehensive set of features for video management, user interaction, and social sharing.
🚀 Core Features
👤 User Management:
- 🔐 Secure registration, login, logout, and password management.
- 🖼️ Comprehensive profile management, including avatar and cover image uploads.
- 🕒 Detailed watch history tracking and clearing functionality.
- 👍 Management of liked videos.
📹 Video Management:
- ⬆️ Seamless video uploads to Cloudinary.
- ❌ Robust cancellation of uploads with complete resource cleanup on the backend.
- 👁️🗨️ Granular visibility control (publish/unpublish).
- ✏️ Efficient video editing and deletion capabilities.
- 🔍 Powerful video search and pagination for easy browsing.
📝 Tweet Management:
- 🐦 Creation and publishing of tweets.
- 👁️ Display of user tweets.
- ✏️ Updating and deletion of tweets.
- ❤️ Liking and disliking of tweets.
🔔 Subscription Management:
- ➕ Subscribing to channels.
- 👥 Viewing channel subscribers.
- 📜 Accessing a list of subscribed channels.
🎵 Playlist Management:
- ➕ Creation, updating, and deletion of playlists.
- ➕ Adding and removing videos from playlists, with undo functionality.
- 📜 Viewing user playlists.
👍 Like Management:
- ❤️ Liking and unliking videos, comments, and tweets.
- 👁️ Viewing liked videos.
💬 Comment Management:
- ➕ Adding, updating, and deleting comments on videos.
📊 Dashboard:
- 📈 Comprehensive channel statistics dashboard (views, subscribers, videos, likes).
- 🎞️ Easy access and control of uploaded videos.
- 📊 Detailed video statistics (Publish Status, Video Name, Date Uploaded, Views, Total Comments, Like Ratings).
✅ Health Check:
- 🛠️ Dedicated endpoint for verifying server health.
🛠️ Technologies
- ⚙️ Node.js: Server-side JavaScript runtime.
- 🌐 Express.js: Web application framework for Node.js.
- 🗄️ MongoDB: NoSQL database.
- 🔗 Mongoose: Object Data Modeling (ODM) for MongoDB.
- 🔒 JWT (JSON Web Tokens): Secure authentication and authorization.
- ☁️ Cloudinary: Cloud-based media management platform.
- 📤 Multer: Middleware for handling file uploads.
- 🧪 Postman: API testing tool.