Next.js-15-Video-Upload-Monetization-Platform Tailwind Templates

Next.js 15 Video Upload Monetization Platform

Video-Upload is a Full-Stack Next.js 15 app for seamless video uploads, management, and monetization. Built with ImageKit, MongoDB, NextAuth, Razorpay, and Tailwind CSS, it offers secure authentication, payments, and a test UI. šŸš€

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
  • Payment: Razorpay
  • Email: Nodemailer
  • Form Handling: React Hook Form

Prerequisites

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

Getting Started

  1. Clone the repository:

    git clone <repository-url>
    cd imagekit-video-main
    
  2. Install dependencies:

    npm install
    
  3. Configure environment variables:

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

    npm run dev
    
  5. 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=

# Razorpay
RAZORPAY_KEY_ID=
RAZORPAY_KEY_SECRET=

# Email (SMTP)
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASS=

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
  • npm run mailtrap - Test email configuration

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

Contributing

NO CONTRIBUTING PLEASE!

License

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

Support

For support, watch youtube video

Top categories

Loading Svelte Themes