Welcome to the Learning Management System (LMS) project! This comprehensive platform has been built from scratch to offer a wide range of features essential for an effective online learning experience.
Note: The preview videos in this section will not work on mobile devices. They are only functional on desktop mode.
- Login and Signup:
login.signup.vid.mp4
- Change Password, Edit Password, Reset Password, View Profile Page, Cancel Subscription, Edit Profile:
Pofile.page.and.many.more.functionality.mp4
- Courses Page and Buy Subscription:
buy.subscription.and.course.list.page.mp4
- Lecture Dashboard for Admin:
lecture.dashboard.for.admin.mp4
- Admin Dashboard and Create Course:
admin.dashboard.mp4
- Explore Version Where User Has Authority to Become Admin:
Explore.versin.mp4
The EduCompanion platform caters to three types of users: unsubscribed users, subscribed users, and admins, each with specific access levels and features:
-
Common Features: All users can perform basic actions such as login, signup, change password, reset password, visit and edit profile, view course lists and descriptions, toggle themes, and access the Contact Us form.
-
Unsubscribed Users: In addition to common features, unsubscribed users have access to explore the platform and its basic functionalities.
-
Subscribed Users: Alongside common features, subscribed users can access all available courses and view their lectures and descriptions.
-
Admin Users: In addition to common features, admins have access to an admin dashboard where they can manage courses (including CRUD operations) and a lecture dashboard to manage lectures.
-
Guest Login: Users can access a guest login feature on the login page. Once logged in as a guest, they gain permission to explore courses and view lectures.
-
Explore Version: Visitors to the EduCompanion website can opt to become admin. By selecting "yes," users can access an environment where they have the authority to become an admin and utilize all platform features.
- React: For creating the user interface.
- Tailwind CSS: For styling elements.
- DaisyUI: For creating beautiful drawer components.
- React-Icons: For integrating icons.
- React Router: For handling navigation and creating different pages.
- React Hot Toast: For displaying notifications and messages.
- React-Redux: For integrating Redux with React.
- Redux Toolkit: For managing global state.
- Chart.js: For creating charts and visualizations.
- React-Chartjs-2: For integrating Chart.js with React.
- Axios: For making API calls.
- Node.js: For server-side scripting.
- Express: For building the backend framework.
- MongoDB: For database management.
- Cors: For handling Cross-Origin Resource Sharing.
- Bcrypt: For password hashing.
- Crypto: For encryption and decryption.
- Jsonwebtoken: For implementing JWT authentication.
- Dotenv: For managing environment variables.
- Cookie-Parser: For parsing cookies.
- Multer: For handling file uploads.
- Cloudinary: For managing cloud storage and image uploads.
- Nodemailer: For sending emails.
- Razorpay: For handling payment gateway integration.
Follow these steps to set up the project on your local machine:
-
Clone the repository:
git clone https://github.com/Raish10100/EduCompanion.git cd EduCompanion
-
Set up the server:
- Navigate to the server folder: `cd server.
- Install dependencies:
npm install
- Set up environment variables: Create a
.env
file based on.env.example.js
file. - Start the backend server:
npm run dev
-
Set up the frontend:
- Navigate to the client folder:
cd client
- Install dependencies:
npm install
- Set up environment variables: Create a
.env
file based on.env.example.js
file. - Start the client development server:
npm run dev
- Navigate to the client folder:
-
Access the application:
- Open your browser and visit:
http://localhost:5173
- Open your browser and visit:
- Email: raishgma101001@gmail.com