{"id":26495042,"url":"https://github.com/subhranil002/BrainXcel-Frontend","last_synced_at":"2025-12-31T00:06:11.043Z","repository":{"id":282236083,"uuid":"928518283","full_name":"subhranil002/Learning-Management-System-Frontend","owner":"subhranil002","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-13T13:07:18.000Z","size":2421,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T14:23:21.683Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://lms.subhranil.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/subhranil002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-06T19:03:54.000Z","updated_at":"2025-03-13T13:07:21.000Z","dependencies_parsed_at":"2025-03-13T14:23:24.498Z","dependency_job_id":"0e7d6efe-7bd2-4814-9e87-58982a829725","html_url":"https://github.com/subhranil002/Learning-Management-System-Frontend","commit_stats":null,"previous_names":["subhranil002/learning-management-system-frontend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhranil002%2FLearning-Management-System-Frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhranil002%2FLearning-Management-System-Frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhranil002%2FLearning-Management-System-Frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhranil002%2FLearning-Management-System-Frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/subhranil002","download_url":"https://codeload.github.com/subhranil002/Learning-Management-System-Frontend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244596143,"owners_count":20478613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-20T10:34:06.780Z","updated_at":"2025-12-31T00:06:11.038Z","avatar_url":"https://github.com/subhranil002.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BrainXcel – Learning Management System (Frontend)\n\nBrainXcel 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](http://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.\n\n---\n\n## Table of Contents\n- [BrainXcel – Learning Management System (Frontend)](#brainxcel--learning-management-system-frontend)\n  - [Table of Contents](#table-of-contents)\n  - [Demo](#demo)\n  - [Features](#features)\n  - [Screenshots](#screenshots)\n  - [Tech Stack](#tech-stack)\n  - [Getting Started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Installation](#installation)\n    - [Environment Variables](#environment-variables)\n    - [Running Locally](#running-locally)\n  - [Project Structure](#project-structure)\n  - [Key Components \\\u0026 Pages](#key-components--pages)\n  - [State Management (Redux)](#state-management-redux)\n  - [API Integration](#api-integration)\n  - [Contributing](#contributing)\n  - [License](#license)\n\n---\n\n## Demo\n[Live Demo: BrainXcel](http://brainxcel.subhranil.vercel.app/)\n\nVisit 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.\n\n---\n\n## Features\n- **Role-based authentication:** Secure access for students, teachers, admins\n- **Course management:** Create, edit, and view courses and lectures\n- **User dashboard:** Profile, purchase history, and course progress\n- **Payments:** Integrated checkout and feedback for success/failure\n- **Responsive UI:** Built with Tailwind CSS and DaisyUI\n- **Notifications:** Toasts and in-app feedback\n- **Redux state management:** For authentication, user data, and courses\n- **Reusable components:** Modular design for easy maintenance\n- **Protected \u0026 Public Routes:** Fine-grained access control using React Router and custom `RequireAuth` component\n- **Admin \u0026 Teacher Dashboards:** Dedicated views for privileged users\n- **Guest Access:** Limited guest mode for exploring courses\n\n---\n\n## Screenshots\n\u003e _Add screenshots/GIFs of the homepage, dashboard, course list, etc._\n\n---\n\n## Tech Stack\n- **Frontend:** React, Redux, Vite, Tailwind CSS, DaisyUI\n- **Routing:** React Router\n- **State Management:** Redux Toolkit\n- **Notifications:** react-hot-toast\n- **Analytics:** Vercel Analytics \u0026 Speed Insights\n\n---\n\n## Getting Started\n### Prerequisites\n- Node.js (v16+ recommended)\n- npm\n\n### Installation\n```bash\ngit clone https://github.com/subhranil002/Learning-Management-System-Frontend.git\ncd Learning-Management-System-Frontend\nnpm install\n```\n\n### Environment Variables\n- Copy `.env.example` to `.env` and update with your API URLs and secrets.\n\n### Running Locally\n```bash\nnpm run dev\n```\nApp runs at `http://localhost:5173`\n\n---\n\n## Project Structure\n```\nsrc/\n  ├── App.jsx           # Main routing and authentication logic\n  ├── main.jsx          # Entry point\n  ├── index.css         # Global styles\n  ├── Assets/           # Images and static assets\n  ├── Components/       # Reusable UI components (Auth, CarouselSlide, CourseCard, etc.)\n  │     └── Auth/       # Authentication wrappers (e.g., RequireAuth)\n  ├── Constants/        # App-wide constants (e.g., celebrity data)\n  ├── Helpers/          # Utility functions (e.g., axios instance)\n  ├── Layouts/          # Shared layouts (e.g., HomeLayout)\n  ├── Pages/            # Main page components (AboutUs, Contact, HomePage, SignIn, etc.)\n  │    ├── Course/      # Course-related pages (Create, Edit, Description, Lectures)\n  │    ├── User/        # User profile, edit, purchase history, etc.\n  │    ├── Admin/       # Admin dashboard\n  │    ├── Teacher/     # Teacher dashboard\n  │    └── Payment/     # Payment/checkout pages\n  └── Redux/            # Redux slices and store (AuthSlice, CourseSlice, etc.)\n```\n\n---\n\n## Key Components \u0026 Pages\n- **Components:**  \n  - `Header`, `Footer`, `CourseCard`, `CarouselSlide`, `VideoPlayer`, `Search`, `RequireAuth` (for route protection)\n- **Pages:**  \n  - `HomePage`, `AboutUs`, `Contact`, `SignIn`, `SignUp`, `Profile`, `AdminDashboard`, `TeacherDashboard`, `CourseList`, `CourseDescription`, `Checkout`, etc.\n- **Layouts:**  \n  - `HomeLayout` for consistent page structure\n\n---\n\n## State Management (Redux)\n- **Slices:**  \n  - `AuthSlice`: Handles authentication, user profile, login/logout, registration, password reset, etc.\n  - Additional slices for courses, payments, etc.\n- **Store:**  \n  - Centralized Redux store in `Redux/store.js`.\n- **Persistence:**  \n  - Session storage for user authentication state.\n\n---\n\n## API Integration\n- Uses a helper (`Helpers/axiosInstance.js`) for API requests.\n- Integrates with backend endpoints for authentication, courses, payments, and user management.\n- Handles API errors with user-friendly toast notifications.\n\n---\n\n## Contributing\nPull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.\n\n---\n\n## License\nThis project is licensed under the [GNU General Public License v3.0 (GPLv3)](LICENSE).\n\u003cbr/\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003cp align=\"center\"\u003eMade With ❤️\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubhranil002%2FBrainXcel-Frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubhranil002%2FBrainXcel-Frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubhranil002%2FBrainXcel-Frontend/lists"}