{"id":28566278,"url":"https://github.com/ayyush08/curatube","last_synced_at":"2026-06-05T13:32:11.483Z","repository":{"id":244234625,"uuid":"814652147","full_name":"ayyush08/CuraTube","owner":"ayyush08","description":"CuraTube is a full-stack video streaming platform that supports a handful of cool features similar to any other video streaming application out there. These features start from user authentication, video uploads, comments, likes,etc to some additional features like tweets and many more.","archived":false,"fork":false,"pushed_at":"2025-10-19T14:42:50.000Z","size":6803,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T23:19:05.014Z","etag":null,"topics":["cloudinary","jwt","mern-stack","mongodb","multer","shadcn-ui","tanstack-query","tanstack-router"],"latest_commit_sha":null,"homepage":"https://curatube.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ayyush08.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-13T12:31:57.000Z","updated_at":"2025-10-19T14:42:54.000Z","dependencies_parsed_at":"2024-06-13T15:14:03.469Z","dependency_job_id":"7712beb3-47c6-4590-bd21-a076235255e0","html_url":"https://github.com/ayyush08/CuraTube","commit_stats":null,"previous_names":["ayyush08/youtube-backend","ayyush08/curatube-backend","ayyush08/curatube"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ayyush08/CuraTube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayyush08%2FCuraTube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayyush08%2FCuraTube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayyush08%2FCuraTube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayyush08%2FCuraTube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ayyush08","download_url":"https://codeload.github.com/ayyush08/CuraTube/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayyush08%2FCuraTube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30318464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudinary","jwt","mern-stack","mongodb","multer","shadcn-ui","tanstack-query","tanstack-router"],"created_at":"2025-06-10T15:09:34.895Z","updated_at":"2026-03-10T00:33:16.100Z","avatar_url":"https://github.com/ayyush08.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📽️CuraTube\n\n**CuraTube** is a full-stack video streaming platform that supports a handful of cool features similar to any other video streaming application out there. These features start from user authentication, video uploads, comments, likes,etc to some additional features like tweets and many more.\n\n## 🚀 Features\n\nHere’s what CuraTube offers:\n\n- **User Authentication:** Secure sign-up, login, and session management via JWT tokens.\n- **Video Uploads:** Secure video uploading with cloudinary signed uploads.\n- **Video Streaming:** Smooth video playback with cloudinary srcs.\n- **Video Thumbnails:** Add thumbnails for your videos.\n- **Comments:** Engage with others through threaded discussions.\n- **Likes:** Show appreciation for your favorite videos.\n- **Tweets:** Share quick updates or thoughts, Twitter-style.\n- **Search:** Search for videos.\n- **User Profile:** Personalize your profile and manage your uploads.\n- **Video Recommendations:** Get suggestions while you watch a video.\n- **Watch History:** Keep track of what you’ve watched.\n\n\n\n## 🛠️Tech Stack\n\n### Frontend\n- **Frameworks \u0026 Libraries:** Vite, React, Redux, TanStack Router, TanStack Query\n- **UI \u0026 Styling:** Tailwind CSS, Shadcn UI, VidStack (custom video player)\n\n### Backend\n- **Server:** Node.js, Express.js\n- **Database ORM:** Mongoose\n- **File Handling:** Multer\n- **Media Storage \u0026 Streaming:** Cloudinary\n\n### Database\n- **Primary Database:** MongoDB\n\n\n## 📦Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/ayyush08/CuraTube.git\n   ```\n\n2. Navigate to the project directory:\n   ```bash\n   cd CuraTube\n   ```\n\n3. Install the dependencies:\n   ```bash\n   cd client\n   npm install\n    cd ../server\n    npm install\n   ```\n\n4. Create a `.env` file in the root directory and add the necessary environment variables(You can also have separate `.env` files for client and server if needed):\n   ```bash\n   PORT=\u003cyour-port\u003e\n   ACCESS_TOKEN_SECRET=\u003cyour-access-token-secret\u003e\n   REFRESH_TOKEN_SECRET=\u003cyour-refresh-token-secret\u003e\n   ACCESS_TOKEN_EXPIRY=\u003cyour-access-token-expiry\u003e\n   REFRESH_TOKEN_EXPIRY=\u003cyour-refresh-token-expiry\u003e\n\n    CORS_ORIGIN=\u003cyour-cors-origin\u003e(e.g., http://localhost:5173)\n    VITE_API_BASE_URL=\u003cyour-api-base-url\u003e(e.g., http://localhost:3000)\n   VITE_CLOUDINARY_CLOUD_NAME=\u003cyour-cloudinary-cloud-name\u003e\n\n   MONGODB_URI=\u003cyour-mongodb-uri\u003e\n   CLOUDINARY_API_KEY=\u003cyour-cloudinary-api-key\u003e\n   CLOUDINARY_API_SECRET=\u003cyour-cloudinary-api-secret\u003e\n   CLOUDINARY_CLOUD_NAME=\u003cyour-cloudinary-cloud-name\u003e\n   ```\n\n5. Start the development server for both client and server:\n   ```bash\n    # In one terminal, start the server\n    cd server\n   npm run dev\n    # In another terminal, start the client\n    cd client\n    npm run dev\n   ```\n\n6. Open your browser and navigate to `http://localhost:5173` to view the application.\n\n## Contributing\n\nContributions are welcome! If you have suggestions or improvements, please open an issue or submit a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayyush08%2Fcuratube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayyush08%2Fcuratube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayyush08%2Fcuratube/lists"}