Prindox — Document Processing Platform
Online document processing and printing platform supporting order management, REST APIs, PostgreSQL schema optimization, and asynchronous background validation workflows.
1. System Overview
Prindox handles automated document uploads, print option calculations, order queuing, and fulfillment tracking. The system features a FastAPI REST backend with asynchronous validation workers and an indexed PostgreSQL database.
2. Architecture & Data Flow
Prindox Document Ingestion Topology
flowchart TD
A[Client Web Request] --> B[FastAPI REST API Gateway]
B --> C[Pydantic Schema Validation]
C --> D[Async Document Storage Engine]
D --> E[PostgreSQL Database]
D --> F[Background Order Validation Worker]
F --> G[Fulfillment Queue]
How the flow works:
- Client submits document upload request and print parameters to FastAPI endpoint.
- Pydantic schemas validate input payload, file extension, and sizing constraints.
- Async storage worker persists document metadata in PostgreSQL and streams file payload.
- Background order validation worker calculates page counts and pricing before queuing fulfillment.
3. Subsystem Component Responsibilities
| Component | Responsibility | Technology |
|---|---|---|
| FastAPI Gateway | REST endpoints for document upload, order creation, and status tracking. | Python / FastAPI |
| Database Layer | Relational schema for user accounts, document metadata, and order state. | PostgreSQL |
| Validation Engine | Async background worker computing page dimensions and file safety constraints. | Pydantic / Python Asyncio |
4. Technology Stack
- Backend Framework: Python 3.10+, FastAPI, Pydantic
- Database & Storage: PostgreSQL, SQLModel / SQLAlchemy
- API Standard: OpenAPI / REST