Server: FastAPI backend with auth, projects, reports, uploads
- FastAPI + SQLAlchemy async + Alembic, PostgreSQL in docker-compose
- Auth: argon2id, cookie sessions (web) + bearer tokens (extension)
- Unguessable share tokens (128-bit) on projects and reports
- Content-addressed file storage with mime sniffing, token-scoped download
- Reports with nested steps; server-side password masking

Co-Authored-By: Claude Code <noreply@anthropic.com>
0 parent commit 8a7eb3f51f318a105b4e266c181cdccf50bfcde3
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 1 day ago
Showing 26 changed files
View
.env.example 0 → 100644
View
.gitignore 0 → 100644
View
docker-compose.yml 0 → 100644
View
package.json 0 → 100644
View
server/Dockerfile 0 → 100644
View
server/alembic.ini 0 → 100644
View
server/alembic/env.py 0 → 100644
View
server/alembic/script.py.mako 0 → 100644
View
server/alembic/versions/20260917_0937_8cff74c593be_initial_schema.py 0 → 100644
View
server/app/__init__.py 0 → 100644
View
server/app/config.py 0 → 100644
View
server/app/db.py 0 → 100644
View
server/app/deps.py 0 → 100644
View
server/app/main.py 0 → 100644
View
server/app/models.py 0 → 100644
View
server/app/routers/__init__.py 0 → 100644
View
server/app/routers/auth.py 0 → 100644
View
server/app/routers/projects.py 0 → 100644
View
server/app/routers/reports.py 0 → 100644
View
server/app/routers/uploads.py 0 → 100644
View
server/app/schemas.py 0 → 100644
View
server/app/security.py 0 → 100644
View
server/app/storage.py 0 → 100644
View
server/pyproject.toml 0 → 100644
View
server/tests/__init__.py 0 → 100644
View
server/uv.lock 0 → 100644
Too large (Show diff)