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
- Express Js
- Mongo DB
- Typescript
- JWT
- bcryptJS for hashing passwords
- Jasmine for testing
- Multer
- CSV TO JSON
- Clone the repository
https://github.com/omar214/Orange-Online-Course-System.git
- Go to the directory of the repository
cd Orange-Online-Course-System
- install dependencies
npm install
- 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
npm i
install all the packagesnpm start
to run the for buildnpm run dev
run app using nodemon
- _id :
Object ref
- email:
String
- name:
String
- password :
String
- _id
- name :
String
- skills :
Array of String
- enrolled :
Object of shabe below
{
course: `ObjectRef`;
quizPoints: `Number`;
isFinished: `Boolean`;
attendedDays: `Number`;
}
- _id :
Object Id
- name :
String
- description :
String
- suppluier :
String
- durationInDays :
Number
- attendedDays :
Number
- isFinished:
Boolean
; - preqSkills :
Array of String
- gainedSkills:
Array of String
- _id :
Object Id
- name :
String
- totalMoney :
Number
- paid :
Number