There are usually three main layers:
- Route (or Controller)
- Service
- Model
- Purpose: Handles HTTP requests and responses, Calls the service layer for processing, Returns validated responses
- Purpose: Encapsulates business logic
- The service layer sits between routes and models.
- Handles things like: Complex Validations, Checking permissions or ownership
- Responsible for defining data structures and interacting with the db (queries)