A comprehensive full-stack online course marketplace built with Next.js, enabling seamless course creation, management, and learning experiences.
-
Course Management
- Create and publish unlimited courses
- Organize courses into structured classes
- Upload and manage course materials
- Track course sales and revenue
- Manage student enrollments
-
Financial Management
- Receive automatic payments from course sales
- Track earnings
-
Course Access
- Browse comprehensive course catalog
- Purchase courses with demo credit card
- Access all purchased course materials
- Track learning progress
- Personalize profile with custom avatars
-
Payment System
- Demo credit card with 30,000K initial balance
- Secure transaction processing
- Next.js: React framework for production
- Tailwind CSS: Utility-first CSS framework
- shadcn/ui: Modern UI component library
- Responsive Design: Mobile-first approach
- Next.js API Routes: Server-side functionality
- Prisma ORM: Database management
- PostgreSQL: Primary database
- NextAuth.js: Authentication system
- Secure credential-based authentication
- Role-based access control
- Session management
- Cloudinary: Media management
- Course material storage
- Profile avatar hosting
- Optimized content delivery
- Node.js (v14 or higher)
- PostgreSQL database
- Cloudinary account
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/hanuchaudhary/courseApp.git cd courseApp
-
Install dependencies
npm install # or yarn install
-
Set up environment variables
cp .env.example .env
Fill in your environment variables:
- Database URL
- Cloudinary credentials
- NextAuth secret
- Other required credentials
-
Set up the database
npx prisma migrate dev
-
Start the development server
npm run dev # or yarn dev
- Login with admin credentials
- Navigate to the admin dashboard
- Create and manage courses
- Upload course materials
- Monitor sales and revenue
- Register/Login as a user
- Browse available courses
- Purchase courses using demo credit card
- Access course materials
- Track learning progress
- Review and rate completed courses
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Hanu Chaudhary - GitHub Profile
- Thanks to all contributors who have helped this project grow
- Special thanks to the Next.js, Prisma, and Cloudinary communities