This project is the frontend component of a comprehensive course management platform. It provides a user-friendly interface for students and instructors to interact with courses, manage their profiles, and handle authentication. The platform offers features such as course browsing, enrollment, content creation, and secure access control. It aims to streamline the online learning experience and provide a robust environment for educational content delivery.
- User Authentication: Secure login and signup functionality with OTP verification.
- Role-Based Access Control: Differentiated access for students and instructors using
PrivateRouteandOpenRoutecomponents. - Course Management: Instructors can create, edit, and manage courses with multiple sections and lectures.
- Shopping Cart: Students can add courses to their cart and proceed to checkout.
- Dashboard: Personalized dashboard for users to track their progress and manage their profiles.
- Responsive Design: A user interface that adapts seamlessly to different screen sizes.
- State Management: Utilizes Redux Toolkit for efficient state management across the application.
- Form Handling: Uses React Hook Form for robust and validated form handling.
- Notification System: Implements
react-hot-toastfor user-friendly notifications.
- Frontend:
- React
- React DOM
- React Router DOM
- Redux Toolkit
- Axios
- Tailwind CSS
- Vite
- react-dropzone
- react-hook-form
- react-hot-toast
- react-icons
- react-markdown
- react-otp-input
- react-player
- react-rating-stars-component
- react-super-responsive-table
- react-type-animation
- swiper
- video-react
- @ramonak/react-progress-bar
- chart.js
- react-chartjs-2
- hls.js
- web-vitals
- Build Tool:
- Vite
- Node.js (version >=14)
- npm or yarn
-
Clone the repository:
git clone <repository_url>
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install # or yarn install
-
Start the development server:
npm run dev # or yarn devThis will start the application at
http://localhost:5173(or another port if 5173 is in use).
frontend/
βββ public/
βββ src/
β βββ App.jsx
β βββ main.jsx
β βββ components/
β β βββ core/
β β β βββ Auth/
β β β β βββ LoginForm.jsx
β β β β βββ OpenRoute.jsx
β β β β βββ PrivateRoute.jsx
β β β β βββ SignupForm.jsx
β β β βββ Dashboard/
β β β β βββ AddCourse/
β β β β β βββ CourseBuilder/
β β β β β β βββ CourseBuilderForm.jsx
β β β β β βββ CourseInformation/
β β β β β β βββ CourseInformationForm.jsx
β β β β β βββ index.jsx
β β β β β βββ RenderSteps.jsx
β β β β βββ Cart/
β β β β β βββ index.jsx
β β β β β βββ RenderCartCourses.jsx
β β β β β βββ RenderTotalAmount.jsx
β β β β βββ Sidebar.jsx
β β βββ Common/
β β β βββ ConfirmationModal.jsx
β β β βββ IconBtn.jsx
β βββ pages/
β βββ services/
β βββ slices/
β βββ utils/
β βββ data/
β βββ dashboard-links.js
βββ index.html
βββ package.json
βββ vite.config.js
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your fork.
- Submit a pull request to the main repository.
For questions or inquiries, please contact: [Ritesh] at [maurya.ritesh2005@gmail.com]
Thank you for checking out this project! We hope it helps you in your course management endeavors. Your contributions and feedback are highly appreciated!