Project folder structure
The MOOCs API is structured as follows:
├── API
│ ├── src
│ │ ├── assets
│ │ │ ├── tempfiles
│ │ │ ├── textmaterials
│ │ ├── controllers
│ │ │ ├── course.controller.js
│ │ │ ├── auth.controller.js
│ │ │ ├── ...
│ │ ├── models
│ │ │ ├── course.model.js
│ │ │ ├── auth.model.js
│ │ │ ├── ...
│ │ ├── routes
│ │ │ ├── course.route.js
│ │ │ ├── auth.route.js
│ │ │ ├── ...
│ │ ├── db
│ │ │ ├── index.js
│ │ ├── middlewares
│ │ │ ├── auth.js
│ │ │ ├── ...
│ │ ├── utils
│ │ │ ├── auth.js
│ │ │ ├── ...
│ │ ├── tests
│ │ │ ├── course.test.js
│ │ │ ├── auth.test.js
│ │ │ ├── ...
│ │ ├── app.js
│ │ ├── server.js
│ │ ├── package.json
│ │ ├── package-lock.json
│ │ ├── .env.example
│ │ ├── .env.dev
│ │ ├── .env.test
│ │ ├── .gitignore
│ │ ├── .eslintrc.json
│ │ ├── .prettierrc
The API directory contains the source code for the MOOCs API. The API directory is structured as follows:
controllers- Contains the controller files for the MOOCs API, e.g. course, user controllers etc.models- Contains the model files for the MOOCs API, e.g. course, user models etc.routes- Contains the route files for the MOOCs APImiddlewares- Contains the middleware files for the MOOCs API, e.g. authentication, errorHandler, etc.utils- Contains the utility files for the MOOCs API e.g. email, auth, etc.tests- Contains the test files for the MOOCs API.env.example- Contains the environment variables for the MOOCs API.env.dev- Contains the development environment variables for the MOOCs API.env.test- Contains the test environment variables for the MOOCs API.gitignore- Contains the files and directories to be ignored by gitapp.js- Contains the entry point for the MOOCs APIserver.js- Contains the server configuration for the MOOCs APIpackage-lock.json- Contains the dependencies for the MOOCs API- `