18

Reels Pro

Instagram Reels? Oh yes!

ImageKit Video Shop

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.

Features

  • šŸ” 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

Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • Styling: Tailwind CSS, DaisyUI
  • Authentication: NextAuth.js, JWT
  • Database: MongoDB with Mongoose
  • File Storage: ImageKit
  • Email: Nodemailer
  • Form Handling: React Hook Form

Prerequisites

  • Node.js (Latest LTS version)
  • MongoDB Database
  • ImageKit Account
  • SMTP Server (for email notifications)

Getting Started

  1. Clone the repository:
git clone <repository-url>
cd reels-pro
 
  1. Install dependencies:
npm install
  1. Configure environment variables:

    • Copy .env.example to .env
    • Fill in the required environment variables
  2. Run the development server:

npm run dev
  1. Open http://localhost:3000 in your browser

Environment Variables

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=
 

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build production application
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run seed - Seed the database

Project Structure

ā”œā”€ā”€ 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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Pull me