A modern, responsive React TypeScript frontend for a comprehensive Learning Management System (LMS) built with Vite, Tailwind CSS, and Lucide React icons.
- Beautiful Design: Clean, professional interface with gradient backgrounds and smooth animations
- Responsive: Fully responsive design that works on desktop, tablet, and mobile
- Dark/Light Mode: Support for theme switching (coming soon)
- Accessibility: Built with accessibility best practices
- Authentication: Secure login/register with role-based access
- User Roles: Support for Students, Instructors, and Admins
- Profile Management: User profiles with progress tracking
- Course Catalog: Browse courses with search and filtering
- Course Details: Detailed course pages with video previews
- Progress Tracking: Track learning progress and completion
- Certificates: Digital certificates upon course completion
- Video Player: Custom video player for lectures
- Interactive Content: Quizzes, assignments, and projects
- Discussion Forums: Community interaction and Q&A
- Bookmarks: Save favorite courses and content
- Stripe Integration: Secure payment processing
- Razorpay Support: Multiple payment gateways
- Course Purchases: Buy individual courses or subscriptions
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite for fast development and building
- Styling: Tailwind CSS for utility-first styling
- Icons: Lucide React for beautiful, consistent icons
- Routing: React Router DOM for navigation
- State Management: React Query for server state
- HTTP Client: Axios for API calls
- Forms: React Hook Form for form handling
- Notifications: React Hot Toast for user feedback
src/
├── components/ # Reusable UI components
│ └── Layout/ # Layout components (Navbar, Footer)
├── pages/ # Page components
│ ├── Auth/ # Authentication pages
│ ├── Courses/ # Course-related pages
│ └── Dashboard/ # User dashboard
├── contexts/ # React contexts (Auth, Theme)
├── hooks/ # Custom React hooks
├── services/ # API service functions
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── styles/ # Global styles and Tailwind config
- Node.js 16+
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/rishu685/system-frontend.git cd system-frontend -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Edit
.envwith your configuration:VITE_API_URL=http://localhost:4000/api/v1 VITE_STRIPE_PUBLIC_KEY=your_stripe_public_key VITE_RAZORPAY_KEY_ID=your_razorpay_key
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:3000
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
The project uses Tailwind CSS for styling. Configuration can be found in tailwind.config.js.
Build and development settings are in vite.config.ts.
- JWT-based authentication
- Role-based access control (Student, Instructor, Admin)
- Protected routes and components
- Course creation and editing (Instructors)
- Course enrollment and progress tracking
- Video streaming with progress saving
- Secure checkout with Stripe
- Support for one-time payments and subscriptions
- Invoice generation and payment history
- Mobile-first approach
- Breakpoint-based responsive design
- Touch-friendly interface for mobile devices
This frontend is designed to work with the system-backend repository:
- Backend Repository: https://github.com/rishu685/system_backend
- API Documentation: Available in the backend repository
- Authentication: JWT tokens for secure API access
- Fast Loading: Vite for lightning-fast development and building
- Code Splitting: Automatic code splitting for optimal loading
- Image Optimization: Optimized images and lazy loading
- Caching: Efficient API response caching with React Query
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add 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.
- React team for the amazing framework
- Tailwind CSS for the utility-first CSS framework
- Lucide React for beautiful icons
- All contributors and the open-source community
For support, email support@learnhub.com or join our Discord community.
Built with ❤️ by Rishu685