Commit graph

3 commits

Author SHA1 Message Date
Vadym Samoilenko
fc6f4a12e6 Phase 2+3: FastAPI backend + multi-tenancy schema
Backend (replaces PHP api.php + auth.php):
- FastAPI app with routers: jobs, auth, billing
- Supabase JWT authentication in deps.py
- Celery + Redis job queue (process_pdf_task)
- MinIO S3-compatible storage service
- PDF checker wrapper (delegates to enterprise_pdf_checker.py)
- Stripe billing: checkout, portal, webhook handler

Multi-tenancy (Phase 3):
- Alembic migration 001: workspaces, workspace_members, jobs, usage_events
- Row-Level Security on all tenant tables via app.workspace_id session var
- Monthly quota enforcement per workspace (402 on exceeded)
- Plan tiers: free(5) / pro(100) / business(unlimited)

Config:
- pydantic-settings based config.py (no hardcoded values)
- docker-compose.yml rewritten: postgres, redis, minio, api, celery

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 14:46:05 +01:00
Vadym Samoilenko
5a00ec88d7 Phase 1: De-Oliver rebrand — remove Azure AD, GCP, Oliver branding
- Delete PHP API layer (api.php, auth.php) — replaced by FastAPI in Phase 2
- Delete MSAL/Azure AD JS files (app.js, app-history.js, api.js)
- Delete GCP Cloud Build/Deploy infra (cloudbuild.yaml, deploy.sh, Dockerfiles)
- Delete Oliver-specific docs (OLIVER_CUSTOMIZATION.md, DAVE_QUICK_SETUP.md, etc.)
- Replace Oliver yellow #FFC407 with Aimpress indigo #6366F1 across CSS + reports
- Replace Oliver Solutions footer in report_generator.py with Aimpress
- Switch font from Montserrat to Inter in CSS
- Replace GCS optical-pdf-images bucket with STORAGE_BUCKET env var
- Rewrite README.md for Aimpress SaaS product

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 14:41:27 +01:00
Vadym Samoilenko
cfa7eeeeac Initial commit: PDF Accessibility SaaS (forked from Oliver/pdf-accessibility) 2026-05-19 14:34:12 +01:00