Trizo is a full-stack MERN social media video sharing platform where users can upload, manage, and interact with short videos. The platform supports secure authentication, creator channels, subscriptions, and cloud-based media storage.
It demonstrates real-world full-stack architecture including REST APIs, media handling, and deployment.
Secure user registration and login using JSON Web Tokens (JWT) stored in HTTP-only cookies. Protected routes ensure only authenticated users can access personal data and creator functionality.
Each user has a personal channel displaying avatar, profile information, and uploaded videos. Users can update profile details and manage their channel content.
Authenticated users can upload videos with title, description, and thumbnail. Files are processed using Multer and stored on Cloudinary. Video metadata is stored in MongoDB.
Users can watch videos through a dedicated player interface showing video details, creator info, and engagement context. Videos stream directly from Cloudinary CDN.
Users can subscribe to creator channels. The system maintains subscriber relationships using a dedicated Subscription model and displays subscriber counts and subscription status.
Users can post comments on videos to enable discussion and interaction. Comments are linked to both the video and the user.
Creators can view and manage their uploaded videos and channel content through a dashboard interface.
All video and image assets are stored in Cloudinary, enabling scalable storage and fast global delivery without increasing backend server load.
The backend uses structured schemas for users, videos, subscriptions, and comments. Relationships are maintained via ObjectId references to support scalable social features.
The backend exposes modular REST endpoints organized by resource (users, videos, comments, subscriptions). Controllers manage logic while routes define endpoints.
The backend is configured for cloud deployment using environment variables, MongoDB Atlas database, and Cloudinary media storage. The service is deployed on Render.
Frontend: React (Vite), CSS
Backend: Node.js, Express
Database: MongoDB Atlas
Media Storage: Cloudinary
Authentication: JWT + Cookies
Deployment: Render
trizo/
backend/
src/
controllers/
models/
routes/
middlewares/
utils/
db/
app.js
index.js
frontend/
src/
pages/
components/
context/
api/
cd backend
npm install
npm run dev
cd frontend
npm install
npm run dev
Backend requires:
MONGO_URI=
ACCESS_TOKEN_SECRET=
REFRESH_TOKEN_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
CORS_ORIGIN=
https://social-media-video-sharing-platform.onrender.com/api/v1
Backend deployed on Render
MongoDB hosted on MongoDB Atlas
Cloudinary used for media storage
Frontend deployment in progress
Kimaya Chavan
MERN Stack Developer
