finnow/finnow-api
Andrew Lalis 270dcc6020 Added registration page to app, username availability checking. 2024-09-11 16:15:53 -04:00
..
source Added registration page to app, username availability checking. 2024-09-11 16:15:53 -04:00
.gitignore Added basic auth system, profiles, and start of models and data. 2024-07-31 13:20:17 -04:00
README.md Added registration page to app, username availability checking. 2024-09-11 16:15:53 -04:00
currency_codes_ISO4217.csv Added basic auth system, profiles, and start of models and data. 2024-07-31 13:20:17 -04:00
dub.json Added registration page to app, username availability checking. 2024-09-11 16:15:53 -04:00
dub.selections.json Added registration page to app, username availability checking. 2024-09-11 16:15:53 -04:00
schema.sql Another major refactor, into modular monolith style application. 2024-08-01 13:01:50 -04:00

README.md

Finnow API

The Finnow API is primarily implemented as an HTTP REST API using D, and the handy-httpd library.

Architecture

This project is set up as a modular monolith, where the API as a whole is broken up into mostly-independent modules. Each module can be found under source/, like source/auth for example.

Within each module, you'll usually find some of the following submodules:

  • model.d - Defines models for this module, often database entities.
  • data.d - Defines the data access interfaces and associated types, so that other modules can interact with it.
  • data_impl_*.d - A concrete implementation of a submodule's data access interfaces, often using a specific technology or platform.
  • api.d - Defines any REST API endpoints that this module exposes to the web server framework.
  • service.d - Defines business logic and associated types that may be called by the api.d submodule or other modules.