A full-featured e-Learning platform built with Next.js 14 that allows users to browse, enroll in courses, and manage their learning journey. Administrators can manage courses, users, and track platform analytics.
- 🏠 Interactive homepage with featured courses
- 🔍 Course browsing and search functionality
- 📚 Detailed course pages with curriculum
- 💝 Add courses to favorites
- 🛒 Shopping cart functionality
- 📱 Fully responsive design
- 📊 Analytics dashboard with enrollment stats
- 📝 Course management (CRUD operations)
- 👥 User management system
- 📈 Enrollment tracking
- 🏷️ Category management
- ✉️ Email/password login
- 📝 User registration
- 🔑 JWT authentication
- 🛡️ Protected routes
- 👤 Profile management
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- State Management: Redux Toolkit (RTK Query)
- UI Components: Shadcn/ui
- Animation: Framer Motion
- Form Handling: React Hook Form
- Icons: Lucide React
- Charting: Recharts
e-learning/
├── app/ # Next.js 14 App Router
│ ├── (admin)/ # Admin routes
│ ├── (auth)/ # Authentication routes
│ ├── (common)/ # Public routes
│ ├── (user)/ # User routes
│ └── assets/ # Static assets
├── components/ # Reusable components
│ ├── motion/ # Animation components
│ ├── shared/ # Common components
│ ├── sidebar/ # Navigation
│ └── ui/ # UI primitives
├── hooks/ # Custom hooks
├── lib/ # Utilities
├── redux/ # State management
│ ├── api/ # RTK Query endpoints
│ ├── slice/ # Redux slices
│ └── store.ts # Redux store
└── types/ # TypeScript types- Node.js v18+
- npm or yarn
- Git
-
Clone the repository:
git clone https://github.com/nafistarik/e-learning.git cd e-learning -
Install dependencies:
npm install # or yarn install -
Run the development server:
npm run dev # or yarn dev -
Open http://localhost:3000 in your browser.
dev: Starts development serverbuild: Creates production buildstart: Starts production serverlint: Runs ESLintformat: Formats code with Prettiertest: Runs tests (if configured)
The project is deployed on Vercel. To deploy your own instance:
- Fork this repository
- Create a new project on Vercel
- Connect your GitHub repository
- Deploy!
Contributions are welcome! Please follow these steps:
- Fork the project
- 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.
Md. Nafis Tarik - nafistarik789@gmail.com
Project Link: https://github.com/nafistarik/e-learning
Live Demo: https://elearn-lilac.vercel.app/