1
0
Fork 0
No description
This repository has been archived on 2025-08-23. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Find a file
2024-09-21 12:09:08 +02:00
.editorconfig feat: initial commit 2024-09-21 12:09:08 +02:00
README.md feat: initial commit 2024-09-21 12:09:08 +02:00

Backoffice API

Backoffice API for my training activities etc. maybe workshops in the future.

API

The API is going to be REST with OpenAPI specification and Swagger (or similar) UI for development. In the future this may change and for example gRPC (Connect RPC 👀).

The API scheme resides in the api/ directory. With major version like v0, v1,... being subdirectories.

API and code

The code is generated from API schema, not the other way around (schema from code).

For this, I am using oapi-codegen. The other project considered was ogen. This choice may be review in the future.

My main concern with oapi-codegen is with optional fields, since pointers are used while ogen is utilizing Go's generics. Which I feel may be a better fit.

API versioning

I want to split major versions (⚠️ breaking changes) with folders in code and also in URL path.

This is done mainly to gain experience with such approach.

The first of API scheme iteration is marked as v0, since I expect not to get everything right the first time and I want to try this approach while designing the API. Altho it's just a number and there is no reason between v0, v1, v2,...

Current major API version is v0.