Backend Architecture
Built with Flask framework using blueprints for modular design. Implements SQLAlchemy ORM for database operations with migration support via Alembic.
A web application to provide full workflow access and server-side backend to a Chrome extension.
This web application works hand-in-hand with a chrome extension to provide the database, data visualisation, and editorial aspect of the workflow tool for information gathering and editing. Currently it is aimed at policy professionals but could easily be changed to serve any profession reliant on information gathering from the web. While the Chrome extension makes data collection seamless, this web application provides the microservices necessary to run it. Additionally, it provides a robust workspace for actions that need more attention, such as data visualisation, editorial workflow, etc. I am using this part of the project to set up unit tests using pytest for the different utility functions used by the API, such as notification, database executions, etc.
Goals
Backend Architecture
Built with Flask framework using blueprints for modular design. Implements SQLAlchemy ORM for database operations with migration support via Alembic.
Frontend Design
The UI is using the same CSS as was written by myself for the chrome extension. Jinja2 templates provide server-side rendering with minimal JavaScript for enhanced interactions.
Deployment Infrastructure
Deployment on a VPS served with the Gunicorn HTTP server and routed with NGINX. Data is served throught a MariaDB instance.
Status
Start Date
2025-10-08
Features
| User authentication | Completed |
| Secure rate-limited API | Completed |
| Schemas | In Progress |
| Unit tests | Planned |
| Content editing | Completed |
| Editorial workflow | In Progress |