/Orange-Online-Course-System

API for online courses system used by orange digital center to automate the process

Primary LanguageJavaScript

Orange Online Course System

🚩About

API for online courses system used by orange digital center

for automating

  • adding users
  • adding courses
  • assigning skills to users
  • enrolling student to courses
  • quizzes & attendance
  • recommendation system

it was mainly the graduation project of The orange digital center backemd hackathon

💻Technologies Used

  • Express Js
  • Mongo DB
  • Typescript
  • JWT
  • bcryptJS for hashing passwords
  • Jasmine for testing
  • Multer
  • CSV TO JSON

🏁Getting Started

  1. Clone the repository
https://github.com/omar214/Orange-Online-Course-System.git
  1. Go to the directory of the repository
cd Orange-Online-Course-System
  1. install dependencies
npm install
  1. add .env file

add .env file similar to this

PORT = 8080
SERVER_URL = "http://localhost"
ENV = "dev"
dbURI = "mongodb://localhost/orange_project"
SALT = 10
PEPPER = password
JWT_PASSWORD= secret

🏁Scripts

  • npm i install all the packages
  • npm start to run the for build
  • npm run dev run app using nodemon

Data Shapes

Admin

  • _id : Object ref
  • email: String
  • name: String
  • password : String

Student

  • _id
  • name : String
  • skills : Array of String
  • enrolled : Object of shabe below
{
	course: `ObjectRef`;
	quizPoints: `Number`;
	isFinished: `Boolean`;
	attendedDays: `Number`;
}

Course

  • _id : Object Id
  • name : String
  • description : String
  • suppluier : String
  • durationInDays : Number
  • attendedDays : Number
  • isFinished: Boolean;
  • preqSkills : Array of String
  • gainedSkills: Array of String

Supplier

  • _id : Object Id
  • name : String
  • totalMoney : Number
  • paid : Number