Technology stack and dependency boundaries
Overview
Section titled “Overview”The v1.2.0 source uses React and TypeScript for the interface and FastAPI with Pydantic for the API. SQLAlchemy manages persistence and Alembic manages schema revisions. PostgreSQL provides the release database. ReportLab generates commercial PDFs, while PDF.js displays generated PDF bytes in the browser. The application packages these libraries with its own code; customers should upgrade through a qualified product release.
Purpose
Section titled “Purpose”Use the stack inventory for integration planning, support ownership and dependency review. It does not prescribe installing current upstream library versions into a released appliance.
Prerequisites
Section titled “Prerequisites”-
The exact product release or installer manifest.
-
Access to the release-specific dependency declarations when performing engineering maintenance.
Procedure
Section titled “Procedure”-
Identify the product release from its release artifact and migration evidence. Do not use the frontend package version or API title alone as the product version.
-
Review the frontend declaration for React, React DOM, Vite, TypeScript, Lucide icons, local fonts, QR rendering and PDF.js.
-
Review backend declarations for FastAPI, Uvicorn, SQLAlchemy, Alembic, psycopg, Argon2, cryptography, PyOTP, MSAL and the document/file libraries.
-
Use the package build manifest or lock evidence to determine resolved versions. A dependency range is not the installed version.
-
Evaluate changes in an isolated release build, including database compatibility, document output and browser behavior, before replacing customer binaries.
Expected result
Section titled “Expected result”The inventory identifies each major technology and the difference between source requirements and a frozen distribution.
Important notes
Section titled “Important notes”-
The frontend package still declares 0.6.0 and the FastAPI application metadata declares 0.5.0 in the v1.2.0 tree. These are historical component metadata, not release authority.
-
SQLite fallback exists in database initialization, but it does not establish support for PostgreSQL-dependent worker and concurrency behavior in a customer deployment.
-
Local fonts avoid making the normal interface dependent on a public font service.
Troubleshooting
Section titled “Troubleshooting”-
Version labels disagree: compare the release tag, artifact manifest and database migration before selecting documentation.
-
A dependency change affects PDFs or imports: retest those features with representative, non-sensitive documents.