https://github.com/upb-code-labs/main-api
The central API to handle most of the CRUD operations 📊
https://github.com/upb-code-labs/main-api
api gateway-api hexagonal-architecture queue-consumer queue-producer rest server-sent-events sse
Last synced: about 1 month ago
JSON representation
The central API to handle most of the CRUD operations 📊
- Host: GitHub
- URL: https://github.com/upb-code-labs/main-api
- Owner: upb-code-labs
- License: agpl-3.0
- Created: 2023-09-01T15:51:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-05T21:31:51.000Z (about 2 years ago)
- Last Synced: 2025-11-22T19:25:15.842Z (4 months ago)
- Topics: api, gateway-api, hexagonal-architecture, queue-consumer, queue-producer, rest, server-sent-events, sse
- Language: Go
- Homepage:
- Size: 623 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Gateway
Welcome to the gateway repository. This service is responsible for the following tasks:
- Authentication
- Authorization
- Serve the REST API
- Send SSE updates to the web client
- Proxy requests to the static files micro-service
- Publish messages to the RabbitMQ submissions queue
Bellow is a diagram of the overall architecture of the system with the gateway / main api highlighted in green.

## Documentation
Please, refer to the following documents for more information about the gateway service:
| Document | Description |
| --------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [Contributing](./docs/contributing.md) | Contributing guidelines. |
| [Environment](./docs/environment.md) | A description of the environment variables used by the gateway service. |
| [Bruno Collection](./docs/bruno) | A collection of REST API requests to be used with [Bruno](https://github.com/usebruno/bruno). |
| [Insomnia Collection](./docs/insomnia) | A collection of REST API requests to be used with [Insomnia](https://insomnia.rest/). |
| [OpenAPI Specification](./docs/openapi/spec.openapi.yaml) | A description of the REST API using the [OpenAPI Specification](https://swagger.io/specification/). |