A modern education platform frontend built with Next.js, featuring course management, user authentication, and interactive learning experiences.
- Modern UI/UX: Built with Next.js 15, React 19, and Tailwind CSS
- Course Management: Create, join, and manage courses
- Real-time Dashboard: Interactive dashboard for students and instructors
- Asset Management: Upload and manage course assets
- Event System: Course events and calendar integration
- Responsive Design: Mobile-first design with dark/light theme support
- Type Safety: Full TypeScript implementation
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: Radix UI primitives
- State Management: Redux Toolkit + React Query
- Icons: Lucide React, Tabler Icons, React Icons
- Animation: Framer Motion
- Node.js >= 20.x
- npm >= 10.x
- A running backend API server
-
Clone the repository
git clone <repository-url> cd coalight-frontend
-
Install dependencies
npm install
-
Environment Setup
cp .env.example .env.local
Update the environment variables in
.env.local
:EXPRESS_API_BASE_URL=http://localhost:5000
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
src/
├── app/ # Next.js App Router
│ ├── (auth)/ # Authentication pages
│ ├── (private)/ # Protected routes
│ ├── api/ # API routes (proxy to backend)
│ └── ...
├── components/ # Reusable components
│ ├── ui/ # Base UI components
│ ├── auth/ # Authentication components
│ ├── dashboard/ # Dashboard components
│ └── ...
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── redux/ # Redux store and slices
├── types/ # TypeScript type definitions
└── styles/ # Global styles
npm run dev
- Start development server with Turbopacknpm run build
- Build for productionnpm run start
- Start production servernpm run lint
- Run ESLint
This frontend acts as a proxy to a backend Express API. All API calls are routed through Next.js API routes for better security and cookie management.
/api/auth/*
- Authentication endpoints/api/courses/*
- Course management/api/assets/*
- Asset management
The project uses a comprehensive design system built on:
- Radix UI for accessibility
- Tailwind CSS for styling
- Custom components in
src/components/ui/
- Email/password authentication
- Email verification system
- JWT token management
- Role-based access control (Student, Instructor, Admin)
- Mobile-first approach
- Tablet and desktop optimizations
- Dark/light theme support
- Progressive Web App features
- Connect your repository to Vercel
- Configure environment variables
- Deploy automatically
- Build the project:
npm run build
- Start the server:
npm start
- Configure environment variables
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.
For support, email sahedul.dev@gmail.com.
Built with ❤️ by Sahedul Islam Rony