Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ayresmonteiro/msc-sample
Node.js MSC Sample Repo with TypeScript for ParaíbaJS Meeting.
https://github.com/ayresmonteiro/msc-sample
msc-architecture paraiba-js typescript
Last synced: about 2 months ago
JSON representation
Node.js MSC Sample Repo with TypeScript for ParaíbaJS Meeting.
- Host: GitHub
- URL: https://github.com/ayresmonteiro/msc-sample
- Owner: AyresMonteiro
- Created: 2023-10-02T11:16:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-16T18:22:54.000Z (about 1 year ago)
- Last Synced: 2023-11-17T13:27:05.350Z (about 1 year ago)
- Topics: msc-architecture, paraiba-js, typescript
- Language: TypeScript
- Homepage:
- Size: 125 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# msc-sample
This is a project for a presentation to ParaíbaJS dev community.
## How to Run
- **Prerequisites**: Have node.js v16 or above and yarn package manager installed in your environment.
Run command on your terminal:
$ yarn install && yarn build && yarn start
In another terminal, you can seed the database using
$ ./seed-db.sh
## Model-Service-Controller (MSC) Architecture
This REST API archictecture is based on three layers:
- **Controller Layer**: Handles HTTP requests and deal with validation and presentation errors, being responsible for returning responses to the client with their respective status codes. It also call services to handle core business logic.
- **Service Layer**: Handles core business logic. I.e: perform a payment, sign up, log in, retrieve resource list, etc. It is called by controllers and can call Model Layer to persist, retrieve, update and delete data.
- **Model Layer**: Abstracts data sources. Can abstract Databases, External Applications (other REST APIs), AIs and other sources of data.
### Architecture Illustration:
![MSC Architecture](https://raw.githubusercontent.com/AyresMonteiro/msc-sample/main/static/msc-sample.jpg)