A modern video streaming platform built with Next.js, featuring a beautiful UI and essential streaming features.
- 🎥 Modern video player with adaptive controls
- 🔐 User authentication (Email/Password, Google, GitHub)
- 🎬 Video categories and search
- 💎 Premium content with subscription wall
- 📱 Responsive design for all devices
- 🎨 Beautiful UI with Tailwind CSS
-
Frontend
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- Video.js for video playback
- NextAuth.js for authentication
-
Backend
- Next.js API Routes
- Prisma ORM
- PostgreSQL Database
- JWT Authentication
- Node.js 18+ and npm
- PostgreSQL database
-
Clone the repository:
git clone https://github.com/yourusername/nethost.git cd nethost -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory with the following variables:# Database DATABASE_URL="postgresql://postgres:postgres@localhost:5432/nethost?schema=public" # NextAuth NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="your-secret-key-here" # OAuth Providers (Optional) GOOGLE_CLIENT_ID="" GOOGLE_CLIENT_SECRET="" GITHUB_ID="" GITHUB_SECRET=""
-
Set up the database:
npx prisma generate npx prisma db push
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
src/
├── app/ # Next.js app router pages
├── components/ # React components
│ ├── auth/ # Authentication components
│ ├── layout/ # Layout components
│ ├── video/ # Video-related components
│ └── ui/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── types/ # TypeScript type definitions
└── middleware.ts # Next.js middleware
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.