A modern, interactive e-learning platform built with Next.js, React, and Prisma. This platform allows users to browse and take courses online with a clean, user-friendly interface.
Check out the live demo: https://minicourse.netlify.app/
- Modern, responsive design with dark/light mode support
- Interactive course content with markdown support
- Real-time progress tracking
- User authentication and course enrollment
- Clean and intuitive user interface
- Built with Next.js App Router
- TypeScript for type safety
- Prisma ORM for database operations
- Tailwind CSS for styling
- Frontend: Next.js 16, React 19, TypeScript
- Styling: Tailwind CSS, DaisyUI
- Database: PostgreSQL with Prisma ORM
- Deployment: Netlify
- Form Handling: React Hook Form with Zod validation
- Icons: Lucide React
- Markdown: React Markdown with syntax highlighting
- Node.js 18.0.0 or later
- pnpm (recommended) or npm/yarn
- PostgreSQL database
-
Clone the repository:
git clone https://github.com/ashsajal1/mini-course.git cd mini-course -
Install dependencies:
pnpm install # or npm install # or yarn install
-
Set up environment variables:
- Copy
.env.exampleto.env - Update the database connection string and other environment variables
- Copy
-
Run database migrations:
pnpm prisma migrate dev
-
Start the development server:
pnpm dev
-
Open http://localhost:3000 in your browser
dev: Start development serverbuild: Build the application for productionstart: Start production serverlint: Run ESLintpostinstall: Generate Prisma client
The application is deployed on Netlify. To deploy your own instance:
- Fork this repository
- Connect your Netlify account to your GitHub repository
- Configure the build settings:
- Build command:
pnpm build - Publish directory:
.next
- Build command:
- Add required environment variables
- Deploy!
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.