How tejxs18/youtube-clone works
YourTube is a full-stack video-sharing platform. Viewers and creators use the React app to search, watch, upload, and engage with videos; Redux actions call the Express API, whose domain handlers manage MongoDB records and Cloudinary media. Separate branches cover channels and subscriptions, comments and translation, personal libraries, and community groups. The frontend entry points and several core backend flows are sampled; other subsystem connections reflect the README’s architecture and are shown only where documented.
Main entry points: Routes API routes · Models MongoDB models · App.jsx React app · Searchbar.jsx Search interface
Components 20
Client experience
- React app
Client/src/App.jsx - Page routes
Client/src/Allroutes.jsx - Search interface
Client/src/Components/Navbar/Searchbar/Searchbar.jsx - Video and feature pages
Client/src/Pages - Redux state and actions
Client/src/Reducers/index.js - API client
Client/src/Api/index.js
API and domains
- Express application
Server/index.js - API routes
Server/Routes - JWT middleware
Server/middleware/auth.js - Video handling
Server/Controllers/video.js - Channels and subscriptions
Server/Controllers/channel.js - Comments and translation
Server/Controllers/Comment.js - Community groups
Server/Controllers/group.js - Viewer library data
Server/Controllers
Persistence and media
- MongoDB models
Server/Models
External services
- Cloudinary media
- Translation service
- Google OAuth
- Browser speech API
Other components
- Viewer or creator
Connections 25
- Viewer or creator → React app: uses
- React app → Page routes: renders
- Page routes → Video and feature pages: routes to
- Viewer or creator → Search interface: enters query
- Search interface → Page routes: navigates
- Search interface → Browser speech API: recognizes speech
- React app → Redux state and actions: dispatches loads
- Video and feature pages → Redux state and actions: reads state
- Redux state and actions → API client: requests data
- React app → Google OAuth: authenticates
- API client → Express application: sends REST requests
- Express application → API routes: mounts routes
- API routes → JWT middleware: protects requests
- API routes → Video handling: dispatches video requests
- API routes → Channels and subscriptions: dispatches channel requests
- API routes → Comments and translation: dispatches comment requests
- API routes → Community groups: dispatches group requests
- API routes → Viewer library data: dispatches library requests
- Video handling → MongoDB models: reads and writes
- Channels and subscriptions → MongoDB models: reads and writes
- Comments and translation → MongoDB models: reads and writes
- Community groups → MongoDB models: reads and writes
- Viewer library data → MongoDB models: reads and writes
- Video handling → Cloudinary media: uploads and streams media
- Comments and translation → Translation service: requests translation