Class scheduling system
- Node
- Typescript
- Express
- Mongoose
- Bcrypt
- Cookie Parser
- Dotenv
- Express Async Errors
- Jsonwebtoken
- Validator
- Docker Compose
- Swagger
- Prettier
├── src/
│ ├── applications/
│ │ ├── controllers/
│ │ ├── middlewares/
│ │ └── usecases/
│ │
│ ├── domain/
│ │ ├── entities/
│ │ └── repositories/
│ │
│ ├── infrastructure/
│ │ ├── authentication/
│ │ │ └── jwt
│ │ └── persistence/
│ │ └── mongo/
│ │ ├── models/
│ │ └── repositories/
│ │
│ ├── routes/
│ │
│ ├── index.ts
│ └── swagger.json
│
├── public/
│ └── uploads/
│
└── test/
To run this project, you will need to add the following environment variables to your .env
# Server
PORT=5000
# Database
DB_HOST=localhost
DB_PORT=27017
DB_NAME=mss
# Mongo Express
MONGO_EXPRESS_PORT=8081
# Bcrypt
BCRYPT_SALT=10
# JWT
JWT_SECRET='somesecret'
JWT_LIFETIME='60m'
# Cookie Parser
COOKIE_SECRET="$JWT_SECRET"
Before you begin, you will need to have Docker Compose installed on your machine.
Clone this repository
git clone https://github.com/motiro/motiro-study-system
Access the project folder
cd motiro-study-system
Run the application
docker compose up
Documentation
http://localhost:5000/docs
- The file must be of type text, PDF or odt/doc/docx
- File must not exceed 5MB
- Use
document
as the key name to upload the file using Postman or Insomnia
http://localhost:5000/api/v1/lesson/:id/upload