├── .gitignore ├── .vscode └── settings.json ├── README.md ├── client ├── .eslintrc.cjs ├── index.html ├── package-lock.json ├── package.json ├── src │ ├── App.tsx │ ├── api │ │ ├── Fetch.ts │ │ └── api.ts │ ├── assets │ │ ├── arrow-left-circle.svg │ │ ├── icon.tsx │ │ ├── kawaii.png │ │ ├── logo.png │ │ ├── not-found.png │ │ ├── plus-circle.svg │ │ ├── select-top.avif │ │ ├── thumbs-down.svg │ │ └── upload.jpg │ ├── index.css │ ├── main.tsx │ ├── pages │ │ ├── Auth │ │ │ ├── Login.tsx │ │ │ └── Signup.tsx │ │ ├── Home │ │ │ ├── Home.tsx │ │ │ └── components │ │ │ │ ├── History.tsx │ │ │ │ ├── Main.tsx │ │ │ │ ├── MiniVideoPosts.tsx │ │ │ │ ├── Nav.tsx │ │ │ │ ├── Profile.tsx │ │ │ │ ├── Subscribed.tsx │ │ │ │ ├── TopBar.tsx │ │ │ │ └── VideoPost.tsx │ │ ├── Upload │ │ │ └── Upload.tsx │ │ ├── User-Profile │ │ │ └── UserProfile.tsx │ │ └── Video-Player │ │ │ ├── VideoPlayer.tsx │ │ │ └── components │ │ │ └── HlsPlayer.tsx │ ├── secret.ts │ └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts └── server ├── .env ├── src ├── auth-service │ ├── .env │ ├── authtest.rest │ ├── controllers │ │ └── authController.js │ ├── index.js │ ├── models │ │ └── userModel.js │ ├── modules │ │ └── db.js │ ├── package-lock.json │ ├── package.json │ └── routes │ │ └── authRoutes.js ├── encoder-service │ ├── .env │ ├── controllers │ │ └── transcoderController.js │ ├── index.js │ ├── models │ │ ├── Channel.js │ │ ├── LikeModel.js │ │ └── VideoModel.js │ ├── modules │ │ └── db.js │ ├── package-lock.json │ ├── package.json │ ├── public │ │ └── hls │ │ │ └── .temp │ └── routes │ │ └── transcodeRoute.js ├── server │ ├── .env │ ├── api.rest │ ├── controllers │ │ ├── channelController.js │ │ ├── subscriptionController.js │ │ └── videoController.js │ ├── index.js │ ├── models │ │ ├── Channel.js │ │ ├── Comment.js │ │ ├── HistoryModel.js │ │ ├── LikeModel.js │ │ ├── LikedModel.js │ │ ├── SubscribedModel.js │ │ ├── SubscriberModel.js │ │ └── VideoModel.js │ ├── modules │ │ ├── db.js │ │ └── jwt.js │ ├── package-lock.json │ ├── package.json │ └── routes │ │ ├── channelRoutes.js │ │ ├── subscribeRoutes.js │ │ └── videoRoutes.js └── upload-service │ ├── .env │ ├── controllers │ └── uploadController.js │ ├── index.js │ ├── modules │ └── jwt.js │ ├── package-lock.json │ ├── package.json │ ├── routes │ └── uploadRoutes.js │ └── upload │ └── .temp └── start-script.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/README.md -------------------------------------------------------------------------------- /client/.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/.eslintrc.cjs -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/index.html -------------------------------------------------------------------------------- /client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/package-lock.json -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/package.json -------------------------------------------------------------------------------- /client/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/App.tsx -------------------------------------------------------------------------------- /client/src/api/Fetch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/api/Fetch.ts -------------------------------------------------------------------------------- /client/src/api/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/api/api.ts -------------------------------------------------------------------------------- /client/src/assets/arrow-left-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/arrow-left-circle.svg -------------------------------------------------------------------------------- /client/src/assets/icon.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/icon.tsx -------------------------------------------------------------------------------- /client/src/assets/kawaii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/kawaii.png -------------------------------------------------------------------------------- /client/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/logo.png -------------------------------------------------------------------------------- /client/src/assets/not-found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/not-found.png -------------------------------------------------------------------------------- /client/src/assets/plus-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/plus-circle.svg -------------------------------------------------------------------------------- /client/src/assets/select-top.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/select-top.avif -------------------------------------------------------------------------------- /client/src/assets/thumbs-down.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/thumbs-down.svg -------------------------------------------------------------------------------- /client/src/assets/upload.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/assets/upload.jpg -------------------------------------------------------------------------------- /client/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/index.css -------------------------------------------------------------------------------- /client/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/main.tsx -------------------------------------------------------------------------------- /client/src/pages/Auth/Login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Auth/Login.tsx -------------------------------------------------------------------------------- /client/src/pages/Auth/Signup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Auth/Signup.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/Home.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/Home.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/History.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/History.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/Main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/Main.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/MiniVideoPosts.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/MiniVideoPosts.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/Nav.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/Nav.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/Profile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/Profile.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/Subscribed.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/Subscribed.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/TopBar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/TopBar.tsx -------------------------------------------------------------------------------- /client/src/pages/Home/components/VideoPost.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Home/components/VideoPost.tsx -------------------------------------------------------------------------------- /client/src/pages/Upload/Upload.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Upload/Upload.tsx -------------------------------------------------------------------------------- /client/src/pages/User-Profile/UserProfile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/User-Profile/UserProfile.tsx -------------------------------------------------------------------------------- /client/src/pages/Video-Player/VideoPlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Video-Player/VideoPlayer.tsx -------------------------------------------------------------------------------- /client/src/pages/Video-Player/components/HlsPlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/pages/Video-Player/components/HlsPlayer.tsx -------------------------------------------------------------------------------- /client/src/secret.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/src/secret.ts -------------------------------------------------------------------------------- /client/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/tsconfig.json -------------------------------------------------------------------------------- /client/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/tsconfig.node.json -------------------------------------------------------------------------------- /client/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/client/vite.config.ts -------------------------------------------------------------------------------- /server/.env: -------------------------------------------------------------------------------- 1 | SECRET_KEY='something' 2 | MONGODB_URI='mongodb://localhost/quteTube' 3 | VIDEO_QUEUE='videoQueue' 4 | -------------------------------------------------------------------------------- /server/src/auth-service/.env: -------------------------------------------------------------------------------- 1 | ../../.env -------------------------------------------------------------------------------- /server/src/auth-service/authtest.rest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/authtest.rest -------------------------------------------------------------------------------- /server/src/auth-service/controllers/authController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/controllers/authController.js -------------------------------------------------------------------------------- /server/src/auth-service/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/index.js -------------------------------------------------------------------------------- /server/src/auth-service/models/userModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/models/userModel.js -------------------------------------------------------------------------------- /server/src/auth-service/modules/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/modules/db.js -------------------------------------------------------------------------------- /server/src/auth-service/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/package-lock.json -------------------------------------------------------------------------------- /server/src/auth-service/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/package.json -------------------------------------------------------------------------------- /server/src/auth-service/routes/authRoutes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/auth-service/routes/authRoutes.js -------------------------------------------------------------------------------- /server/src/encoder-service/.env: -------------------------------------------------------------------------------- 1 | ../../.env -------------------------------------------------------------------------------- /server/src/encoder-service/controllers/transcoderController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/controllers/transcoderController.js -------------------------------------------------------------------------------- /server/src/encoder-service/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/index.js -------------------------------------------------------------------------------- /server/src/encoder-service/models/Channel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/models/Channel.js -------------------------------------------------------------------------------- /server/src/encoder-service/models/LikeModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/models/LikeModel.js -------------------------------------------------------------------------------- /server/src/encoder-service/models/VideoModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/models/VideoModel.js -------------------------------------------------------------------------------- /server/src/encoder-service/modules/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/modules/db.js -------------------------------------------------------------------------------- /server/src/encoder-service/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/package-lock.json -------------------------------------------------------------------------------- /server/src/encoder-service/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/package.json -------------------------------------------------------------------------------- /server/src/encoder-service/public/hls/.temp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/src/encoder-service/routes/transcodeRoute.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/encoder-service/routes/transcodeRoute.js -------------------------------------------------------------------------------- /server/src/server/.env: -------------------------------------------------------------------------------- 1 | ../../.env -------------------------------------------------------------------------------- /server/src/server/api.rest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/api.rest -------------------------------------------------------------------------------- /server/src/server/controllers/channelController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/controllers/channelController.js -------------------------------------------------------------------------------- /server/src/server/controllers/subscriptionController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/controllers/subscriptionController.js -------------------------------------------------------------------------------- /server/src/server/controllers/videoController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/controllers/videoController.js -------------------------------------------------------------------------------- /server/src/server/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/index.js -------------------------------------------------------------------------------- /server/src/server/models/Channel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/Channel.js -------------------------------------------------------------------------------- /server/src/server/models/Comment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/Comment.js -------------------------------------------------------------------------------- /server/src/server/models/HistoryModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/HistoryModel.js -------------------------------------------------------------------------------- /server/src/server/models/LikeModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/LikeModel.js -------------------------------------------------------------------------------- /server/src/server/models/LikedModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/LikedModel.js -------------------------------------------------------------------------------- /server/src/server/models/SubscribedModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/SubscribedModel.js -------------------------------------------------------------------------------- /server/src/server/models/SubscriberModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/SubscriberModel.js -------------------------------------------------------------------------------- /server/src/server/models/VideoModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/models/VideoModel.js -------------------------------------------------------------------------------- /server/src/server/modules/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/modules/db.js -------------------------------------------------------------------------------- /server/src/server/modules/jwt.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/modules/jwt.js -------------------------------------------------------------------------------- /server/src/server/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/package-lock.json -------------------------------------------------------------------------------- /server/src/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/package.json -------------------------------------------------------------------------------- /server/src/server/routes/channelRoutes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/routes/channelRoutes.js -------------------------------------------------------------------------------- /server/src/server/routes/subscribeRoutes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/routes/subscribeRoutes.js -------------------------------------------------------------------------------- /server/src/server/routes/videoRoutes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/server/routes/videoRoutes.js -------------------------------------------------------------------------------- /server/src/upload-service/.env: -------------------------------------------------------------------------------- 1 | ../../.env -------------------------------------------------------------------------------- /server/src/upload-service/controllers/uploadController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/upload-service/controllers/uploadController.js -------------------------------------------------------------------------------- /server/src/upload-service/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/upload-service/index.js -------------------------------------------------------------------------------- /server/src/upload-service/modules/jwt.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/upload-service/modules/jwt.js -------------------------------------------------------------------------------- /server/src/upload-service/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/upload-service/package-lock.json -------------------------------------------------------------------------------- /server/src/upload-service/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/upload-service/package.json -------------------------------------------------------------------------------- /server/src/upload-service/routes/uploadRoutes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/src/upload-service/routes/uploadRoutes.js -------------------------------------------------------------------------------- /server/src/upload-service/upload/.temp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/start-script.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amitanshusahu/YouTube-fullstack/HEAD/server/start-script.sh --------------------------------------------------------------------------------