Skip to content

feat: layered backend/frontend, single pipeline job, tests & live statuses - #14

Open
NikolayBogachev wants to merge 4 commits into
sputnik-llc:mainfrom
NikolayBogachev:feat/layered-architecture
Open

feat: layered backend/frontend, single pipeline job, tests & live statuses#14
NikolayBogachev wants to merge 4 commits into
sputnik-llc:mainfrom
NikolayBogachev:feat/layered-architecture

Conversation

@NikolayBogachev

Copy link
Copy Markdown

Что сделано

Backend

  • Слои: api / use_cases / data / entities / dto / storage / scan / worker / db
  • Неочевидная оптимизация: 3 Celery-задачи → 1 pipeline job (process_uploaded_file)
  • Stream upload, лимит размера, cleanup partial, path safety, retries
  • Projection-запросы (API без stored_name), индексы, CASCADE delete
  • Domain errors → HTTP mapping; JSON-safe 422
  • Тесты: эндпоинты, pipeline, storage, scan, DTO, HTTP errors

Frontend

  • Слои: config / types / api / hooks / components
  • Silent polling статусов (uploaded|processing), индикатор в header
  • Redirect //test при сохранённом basePath: '/test'

Docker / ops

  • Entrypoint: wait DB/Redis → migrate (только API) → app
  • Healthchecks, resource limits, shared volume file-storage
  • restart: always

Docs

  • ARCHITECTURE.md на русском — описание решения
  • README.md — запуск и кратко что сделано

Как проверить

docker compose -f docker-compose.dev.yml up --build

Nikolay added 4 commits July 11, 2026 16:01
Refactor backend into api/use_cases/data/entities/storage/scan/worker.
Collapse Celery scan+metadata+alert into one job with retries.
Stream uploads with size limit, projection queries, CASCADE delete.
Layer frontend into types/api/hooks/components.
Harden docker-compose with healthchecks, ports, resource limits.
- Frontend: auto-refresh statuses while files are uploaded/processing
- Backend: JSON-safe 422 validation errors; full API/pipeline/storage tests
- Docs: ARCHITECTURE.md in Russian; drop external project name mentions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant