Implementation details in backend readme

This commit is contained in:
Imbus 2024-02-13 09:54:47 +01:00
parent 824d094bb1
commit dd99d0de9d

View file

@ -14,3 +14,7 @@ To run the backend, you can use the `go run` command. For example, to run the se
There are several moving parts to the backend. The core web server is the heart of the backend. It glues together the database and serves the routes.
Some of the routes are whats called API endpoints. These are the routes that the frontend will use to communicate with the backend. The 'root' route of the web server is the one that serves the frontend. Its the route that is called when visiting 'yourwebsite.com' or 'localhost:8080' in your browser.
## Implementation
Currently the server uses the standard library 'net/http' to serve the routes. Other considerations include [Gin](https://github.com/gin-gonic/gin) and [Fiber](https://github.com/gofiber/fiber). For the database interactions, we use [sqlx](https://github.com/jmoiron/sqlx), which is a superset of the standard library's 'database/sql' package. It provides a more ergonomic way of interacting with the database, while still being pure sql. There are other popular libraries like [GORM](https://gorm.io/) and [XORM](https://xorm.io/), (ORM as in Object Relational Mapping), but those abstract away the sql, which does not fit the project's goals.