EduHub - Learning Management System (LMS)

This application is a React-based user interface with a NodeJs based server, consisting of LMS operations for begineer in tech. This application consist of functionality on student and admin side.

Features

  • Login And Register
  • Add/Edit/Delete/Read Course details on admin side
  • Add/Edit/Delete/Read Content related to the created course on admin side
  • Only all courses are available to students and admin on separate route
  • Student and admin can see courses available, courses selected, and content related to selected course
  • Students can select a maximum 3 courses and can access content related to the selected course
  • Students can remove the selected course
  • All courses can be filtered by students and admin
  • Students can update personal details

Technologies Used

  • ReactJS - for the frontend.
  • Chakra-UI - Open-source UI library for making user interface.
  • Redux - Open-source state management library for managing application state.
  • MongoDB- for storing data.
  • NodeJs and ExpressJs for API development.
  • bcrypt - Open-source library for hashing the password
  • jsonwebtoken - Open-source library for generating unique token after user login

Admin login Cridentials

  {
    "email": "roy@gmail.com,
    "password": "roy@123"
  }

Installation

  • Clone the repository
  git clone https://github.com/Shubham0442/idea-clan-assignment

For frontend:

  • Navigate to the frontend folder
cd client/
  • Install dependencies
npm install
  • Run the application
npm start

For Backend:

  • Navigate to the backend folder
cd server/
  • Install dependencies
npm install
  • Run the application
npm run dev

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

On Server side

PORT - To run application in local

SECRET - Secret key for jsonwentoken

mongodburl - Mongo Atlus URL

On Client side

REACT_APP_BASE_URL - base URL of server to run application in local or deployed server URL

Deployment