Skip to content

Latest commit

 

History

History
59 lines (42 loc) · 2.12 KB

technical-overview.md

File metadata and controls

59 lines (42 loc) · 2.12 KB

Technical Overview

Key Technologies

The API is written in Python, utilizing APIFlask as the web application framework (with Flask serving as the backend for APIFlask). The API is described in the code via Marshmallow Dataclasses

SQLAlchemy is the ORM, with migrations driven by Alembic. pydantic is used in many spots for parsing data (and often serializing it to json or plain dictionaries). Where pydantic is not used, plain Python dataclasses are generally preferred.

Request operations

  • TODO - redo this

Authentication

Authentication methods are defined in the security_scheme config in app.py. A particular security scheme is enabled for a route via a security block on that route.

Flask runs the authentication method specified in api_key_auth.py before passing the request to the route handler. In the api_key security scheme, the X-Auth points to the function that is run to do the authentication.

Authorization

n/a - Specific user authorization is not yet implemented for this API.

Database diagram

n/a - Database diagrams are not yet available for this application.