BrainXcel is a modern, responsive Learning Management System (LMS) frontend built with React, Redux, Vite, Tailwind CSS, and DaisyUI. Publicly deployed at brainxcel.subhranil.vercel.app, it supports role-based access for students, teachers, and admins, and provides a seamless user experience for course management, enrollment, and learning.
Visit the live application to explore all features in action. This deployment demonstrates the full functionality of the LMS, including authentication, course management, dashboards, and more.
- Role-based authentication: Secure access for students, teachers, admins
- Course management: Create, edit, and view courses and lectures
- User dashboard: Profile, purchase history, and course progress
- Payments: Integrated checkout and feedback for success/failure
- Responsive UI: Built with Tailwind CSS and DaisyUI
- Notifications: Toasts and in-app feedback
- Redux state management: For authentication, user data, and courses
- Reusable components: Modular design for easy maintenance
- Protected & Public Routes: Fine-grained access control using React Router and custom
RequireAuthcomponent - Admin & Teacher Dashboards: Dedicated views for privileged users
- Guest Access: Limited guest mode for exploring courses
Add screenshots/GIFs of the homepage, dashboard, course list, etc.
- Frontend: React, Redux, Vite, Tailwind CSS, DaisyUI
- Routing: React Router
- State Management: Redux Toolkit
- Notifications: react-hot-toast
- Analytics: Vercel Analytics & Speed Insights
- Node.js (v16+ recommended)
- npm
git clone https://github.com/subhranil002/Learning-Management-System-Frontend.git
cd Learning-Management-System-Frontend
npm install- Copy
.env.exampleto.envand update with your API URLs and secrets.
npm run devApp runs at http://localhost:5173
src/
βββ App.jsx # Main routing and authentication logic
βββ main.jsx # Entry point
βββ index.css # Global styles
βββ Assets/ # Images and static assets
βββ Components/ # Reusable UI components (Auth, CarouselSlide, CourseCard, etc.)
β βββ Auth/ # Authentication wrappers (e.g., RequireAuth)
βββ Constants/ # App-wide constants (e.g., celebrity data)
βββ Helpers/ # Utility functions (e.g., axios instance)
βββ Layouts/ # Shared layouts (e.g., HomeLayout)
βββ Pages/ # Main page components (AboutUs, Contact, HomePage, SignIn, etc.)
β βββ Course/ # Course-related pages (Create, Edit, Description, Lectures)
β βββ User/ # User profile, edit, purchase history, etc.
β βββ Admin/ # Admin dashboard
β βββ Teacher/ # Teacher dashboard
β βββ Payment/ # Payment/checkout pages
βββ Redux/ # Redux slices and store (AuthSlice, CourseSlice, etc.)
- Components:
Header,Footer,CourseCard,CarouselSlide,VideoPlayer,Search,RequireAuth(for route protection)
- Pages:
HomePage,AboutUs,Contact,SignIn,SignUp,Profile,AdminDashboard,TeacherDashboard,CourseList,CourseDescription,Checkout, etc.
- Layouts:
HomeLayoutfor consistent page structure
- Slices:
AuthSlice: Handles authentication, user profile, login/logout, registration, password reset, etc.- Additional slices for courses, payments, etc.
- Store:
- Centralized Redux store in
Redux/store.js.
- Centralized Redux store in
- Persistence:
- Session storage for user authentication state.
- Uses a helper (
Helpers/axiosInstance.js) for API requests. - Integrates with backend endpoints for authentication, courses, payments, and user management.
- Handles API errors with user-friendly toast notifications.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the GNU General Public License v3.0 (GPLv3).
Made With β€οΈ