Continue with FastAPI Stack for Web Application Backend #17
ksmuczynski
started this conversation in
ADR
Replies: 1 comment 1 reply
-
I agree that many of the negatives come from us having to implement a number of features ourselves, like audits. To note on the enumerated Negatives The team is responsible for implementing and securing the authentication system from scratch.
The team must design, build, and maintain a custom audit trail system using SQLAlchemy events.
A solution for an admin interface must be researched, integrated, and maintained separately.
For the Positives I would add:
For the Negatives I would add:
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Status: Accepted
Date: 2025-08-08
Context and Problem Statement
Following the outcome of the Water Data Discovery Report and its recommendation to adopt a product-mode monolithic architecture, NMBGMR needs to commit to a backend technology stack. Previous work was developed using FastAPI and SQLAlchemy. However, a formal evaluation was necessary to ensure this stack is the correct long-term choice compared to a more established, all-in-one framework like Django. The decision hinges on which stack best balances development velocity, performance, scalability, and long-term maintainability for our API-centric application.
Decision Drivers
Considered Options
Decision Outcome
Chosen option: "1. FastAPI Stack", because it provides superior performance, a modern and efficient developer experience, and leverages the work already completed. The benefits of its async architecture, Pydantic-based data validation, and the powerful SQLAlchemy ORM outweigh the convenience of Django's "batteries-included" approach for our specific needs.
Pros and Cons of the Options
1. FastAPI Stack
asyncio
support.2. Django Stack
django-simple-history
package provides a powerful, out-of-the-box audit trail solution with full admin integration.Consequences
Positive
func
object.Negative
Beta Was this translation helpful? Give feedback.
All reactions