Newer
Older
# Credits service
## Features
This service allows the editorial team to manage a catalog of the Open Source initiatives enabling and powering this development project.
Each record of the catalog includes the following information:
* `id`: a technical unique identifier acting as primary key in the underlying database
* `uuid`: a business unique identifier
* `name`: the name of the credited initiative
* `description`: a short description of the credited initiative, in particular of the role the latter plays in this project
* `links`: a collection of URLs related to the credited initiative, modeled as a One-To-Many relationship
* `logo`: the URL of the logo of the credited initiative
* `published`: a boolean flag, indicating whether the record is published or not (draft)
## Dependencies
This service has no dependency on other components.
## Endpoints
The service provides two endpoints,
allowing one to perform CRUD operations on credits and links in a RESTful manner. Moreover, an healtcheck endpoint is provided,
3. `/health`,
returning a `200` HTTP code if the API is healthy, `503` otherwise. For the service to be healthy, the underlying database must be up.
## Implementation

The service is implemented using the [NestJS](https://nestjs.com/) framework. We refer the reader to the [NestJS-based micro-services](../../miscellaneous/nestjs-micro-services.md) page for further details concerning NestJS and the features it provides.
Data persistence is achieved by using [PostgreSQL](https://www.postgresql.org/) and [TypeORM](https://github.com/typeorm/typeorm).