{"id":25201954,"url":"https://github.com/skp3214/clipjoy","last_synced_at":"2026-04-19T06:33:20.301Z","repository":{"id":275318244,"uuid":"925629735","full_name":"skp3214/clipjoy","owner":"skp3214","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-07T12:16:17.000Z","size":1265,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T21:44:27.762Z","etag":null,"topics":["daisy-ui","imagekit","mongodb","next-auth","nextjs","react-hook-form"],"latest_commit_sha":null,"homepage":"https://clipsjoy.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/skp3214.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}},"created_at":"2025-02-01T10:47:39.000Z","updated_at":"2025-03-07T12:18:10.000Z","dependencies_parsed_at":"2025-03-07T13:33:09.277Z","dependency_job_id":null,"html_url":"https://github.com/skp3214/clipjoy","commit_stats":null,"previous_names":["skp3214/clipjoy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/skp3214/clipjoy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skp3214%2Fclipjoy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skp3214%2Fclipjoy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skp3214%2Fclipjoy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skp3214%2Fclipjoy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skp3214","download_url":"https://codeload.github.com/skp3214/clipjoy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skp3214%2Fclipjoy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263233955,"owners_count":23434890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["daisy-ui","imagekit","mongodb","next-auth","nextjs","react-hook-form"],"created_at":"2025-02-10T06:16:04.738Z","updated_at":"2026-04-19T06:33:15.273Z","avatar_url":"https://github.com/skp3214.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎬 ClipJoy\n\nClipJoy is a **Next.js**-based 📽️ application for **sharing reels** 🎥 with users. It allows users to **upload**, **view**, and **interact** 👏 with **short videos** ⏩. The project is built with **Next.js**, **NextAuth** 🔐 for authentication, and **ImageKit** 🖼️ for video uploads.\n\n## [Live Website Link](https://clipsjoy.vercel.app/)\n## ⭐ Features\n\n- **User Authentication** 🔑 with **NextAuth**\n- **Video Uploads** 📤 using **ImageKit**\n- **Secure Password Hashing** 🔒 with **bcryptjs**\n- **Video Metadata Storage** 🗄️ using **MongoDB \u0026 Mongoose**\n- **Styled** 🎨 with **TailwindCSS \u0026 DaisyUI**\n- **Form Handling** 📄 with **React Hook Form**\n\n## 🛠️ Tech Stack\n\n- **Frontend:** 🎭 Next.js, React, TailwindCSS, DaisyUI\n- **Backend:** 🏗️ Next.js API routes, NextAuth\n- **Database:** 🗂️ MongoDB (**Mongoose ODM**)\n- **Storage:** 🏞️ ImageKit\n- **Authentication:** 🔑 NextAuth (**JWT-based authentication**)\n- **State Management:** 📦 React Hook Form\n\n## 🚀 Installation\n\n1. **Clone the Repository** 📂:\n   ```sh\n   git clone https://github.com/skp3214/clipjoy.git\n   cd clipjoy\n   ```\n2. **Install Dependencies** 📦:\n   ```sh\n   npm install\n   # or\n   yarn install\n   ```\n3. **Set Up Environment Variables** 🌍:\n   - Create a `.env.local` file and add the following:\n   ```env\n   NEXTAUTH_SECRET=your_secret_key\n   NEXTAUTH_URL=http://localhost:3000\n   MONGODB_URI=your_mongodb_connection_string\n   IMAGEKIT_PUBLIC_KEY=your_public_key\n   IMAGEKIT_PRIVATE_KEY=your_private_key\n   IMAGEKIT_URL_ENDPOINT=your_url_endpoint\n   ```\n4. **Run the Development Server** 🏃:\n   ```sh\n   npm run dev\n   ```\n\n## 📂 Folder Structure\n\n```\nclipjoy/\n│── app/\n│   ├── api/\n│   │   ├── auth/\n│   │   ├── register/\n│   │   ├── videos/\n│   ├── components/\n│   ├── login/\n│   ├── register/\n│   ├── upload/\n│── lib/\n│   ├── api-client.ts\n│   ├── auth.ts\n│   ├── db.ts\n│── models/\n│   ├── User.ts\n│   ├── Video.ts\n│── public/\n│── styles/\n│── pages/\n│── .env.local\n│── next.config.js\n│── package.json\n```\n\n## 🔗 API Routes\n\n| 🌐 Route            | 🔄 Method | 📜 Description         |\n|--------------------|----------|----------------------|\n| `/api/videos`      | **GET**  | Fetch all videos 📹 |\n| `/api/auth/session`| **GET**  | Get user session 🔑 |\n| `/api/auth/signin` | **POST** | User login 🚪       |\n| `/api/auth/signup` | **POST** | User registration 📝 |\n\n## 🔮 Future Enhancements\n\n- **Admin Dashboard** 🛠️ for managing videos \u0026 users\n- **Like \u0026 Comment System** ❤️💬 for user engagement\n- **Video Categories \u0026 Tags** 🏷️ for better content organization\n- **Performance Optimization** ⚡ with caching and SSR\n\n## 🤝 Contributing\n\nPull requests are welcome! 🚀 For major changes, please open an **issue** 🗂️ first to discuss what you would like to change.\n\n\n# [Learning](/Learning.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskp3214%2Fclipjoy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskp3214%2Fclipjoy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskp3214%2Fclipjoy/lists"}