eolas/neuron/44f350ea-f6e5-4cdc-865c-2119ac043cfa/Structuring_Express_applications.md

39 lines
1 KiB
Markdown
Raw Normal View History

2024-12-09 18:34:15 +00:00
---
tags:
- node-js
- REST
- APIs
---
# Structuring Express applications
In general, the following application structure works well:
```
\
routes\
models\
middlewear\
config\
public\
index.js
```
- **`routes/`**
- This should house all our RESTful API endpoints for a given resource which
we define as a module. For instance if we are handling API requests to
`/api/courses/` we would have a module at `/routes/courses.js`
- **`models/`**
- Here we define our database schemas: definitions for the structure of the
data objects we want to return from the database.
- In the case of Mongo we would have a file for each of our Mongoose models
which will belong to an overall collection of which there are document
instances.
- Our model files should map onto our route modules; there should generally be
at least one model file for each module. The model stands as an abstract
representation of the data that we will be handling with our request paths
in the routes file.