Document management SaaS / Project case study
Smart Document Vault
A Django REST API for personal, family, and small-business document storage, organized around workspace tenancy and private-by-default documents.
01 / Context
The problem
A document service must keep each workspace’s files separate and prevent unscanned uploads from becoming downloadable. These boundaries affect both data queries and file storage.
My role
I implemented tenant-scoped data access and object authorization across document and folder operations, added role and tenant test matrices, and aligned API response and error contracts with the published OpenAPI schema.
02 / Engineering
Technical decisions
Requests select workspace context through X-Workspace-ID. Workspace-scoped access and policy-based authorization provide the boundaries for document operations.
Uploads remain in private quarantine until ClamAV scanning succeeds. Celery handles scanning work; unavailable workers or scanners leave files unavailable for download. This favors controlled access over immediate file availability.
Document and version uploads support idempotency keys, so retries can replay an existing response rather than repeat the operation.
03 / Delivery
What the project delivers
Authentication, workspace, folder, and document routes are mounted. The repository also contains tenant-isolation tests and an OpenAPI contract. Sharing, subscriptions, and other supporting modules remain outside the completed launch scope.
Technical focus
A closer look at the implementation.
- Django REST Framework
- Workspace-scoped queries
- JWT authentication
- Versioned files and scan status
Let’s talk about the work.
Interested in the technical decisions behind this project? Get in touch.
Start a conversation ↗