A modern Next.js application for managing and selling video content using ImageKit integration. This project provides a full-featured platform with user authentication, video upload capabilities, and payment processing using Razorpay.
- 🔐 User Authentication (NextAuth.js)
- 📹 Video Upload and Management (ImageKit)
- 💳 Payment Processing (Razorpay)
- 🎨 Modern UI with Tailwind CSS and DaisyUI
- 📱 Fully Responsive Design
- 🔒 Secure API Routes
- 📧 Email Notifications (Nodemailer)
- 🗄️ MongoDB Database Integration
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS, DaisyUI
- Authentication: NextAuth.js, JWT
- Database: MongoDB with Mongoose
- File Storage: ImageKit
- Payment: Razorpay
- Email: Nodemailer
- Form Handling: React Hook Form
- Node.js (Latest LTS version)
- MongoDB Database
- ImageKit Account
- Razorpay Account
- SMTP Server (for email notifications)
- Clone the repository:
git clone <repository-url>
cd imagekit-video-main- Install dependencies:
npm install-
Configure environment variables:
- Copy
.env.exampleto.env - Fill in the required environment variables
- Copy
-
Run the development server:
npm run dev- Open http://localhost:3000 in your browser
Create a .env file with the following variables:
# Database
MONGODB_URI=
# Authentication
NEXTAUTH_SECRET=
NEXTAUTH_URL=
# ImageKit
IMAGEKIT_PUBLIC_KEY=
IMAGEKIT_PRIVATE_KEY=
IMAGEKIT_URL_ENDPOINT=
# Razorpay
RAZORPAY_KEY_ID=
RAZORPAY_KEY_SECRET=
# Email (SMTP)
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASS=npm run dev- Start development servernpm run build- Build production applicationnpm run start- Start production servernpm run lint- Run ESLintnpm run seed- Seed the databasenpm run mailtrap- Test email configuration
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── components/ # Reusable components
│ ├── login/ # Login page
│ ├── register/ # Registration page
│ └── upload/ # Video upload page
├── lib/ # Utility functions
├── models/ # MongoDB models
├── public/ # Static assets
└── types.d.ts # TypeScript declarations
NO CONTRIBUTING PLEASE!
This project is licensed under the MIT License - see the LICENSE file for details.
For support, watch youtube video