Skip to content

In the LMS project, admins create courses, manage content, track revenue, while students access courses via subscription, with satisfaction guarantee and refund option.

Notifications You must be signed in to change notification settings

Raish10100/EduCompanion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

EduCompanion MERN Stack Project

Description

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.

Table of Contents

Preview


Back to Table of Contents


Usage

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

Back to Table of Contents


Features

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.

Additional Features:

  • 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.


Back to Table of Contents


Tech Stack

Frontend

  • 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.

Backend

  • 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.

Back to Table of Contents


Installation

Follow these steps to set up the project on your local machine:

  1. Clone the repository:

    git clone https://github.com/Raish10100/EduCompanion.git
    cd EduCompanion
    
  2. 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
  3. 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
  4. Access the application:

    • Open your browser and visit: http://localhost:5173

Back to Table of Contents


Contact Information

About

In the LMS project, admins create courses, manage content, track revenue, while students access courses via subscription, with satisfaction guarantee and refund option.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages