Drawing 2026-10-03 21.21.42.excalidraw

⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

ani vault

the main app has this features

  • Authentication

  • Anime catalog

  • Search/filter

  • Watchlist

  • Watch progress

  • Episode playback

  • Admin upload

anime-backend/ ├── app/ │ ├── main.py # FastAPI app factory, middleware, router mounting │ ├── core/ # Cross-cutting concerns │ │ ├── config.py # Pydantic Settings (env vars) │ │ ├── security.py # JWT, password hashing │ │ ├── dependencies.py # get_db, get_current_user, require_admin │ │ ├── exceptions.py # Custom exceptions + handlers │ │ └── logging.py │ │ │ ├── db/ │ │ ├── base.py # SQLAlchemy Base / declarative │ │ ├── session.py # Async engine + sessionmaker │ │ └── init_db.py # seed / migrations bootstrap │ │ │ ├── models/ # SQLAlchemy ORM models (shared) │ │ ├── user.py │ │ ├── anime.py │ │ ├── episode.py │ │ ├── watchlist.py │ │ └── watch_progress.py │ │ │ ├── schemas/ # Pydantic request/response schemas │ │ ├── user.py │ │ ├── anime.py │ │ ├── episode.py │ │ ├── watchlist.py │ │ └── progress.py │ │ │ ├── modules/ # ⭐ Feature-based modules │ │ ├── auth/ │ │ │ ├── router.py │ │ │ ├── service.py │ │ │ └── utils.py │ │ ├── anime/ # catalog │ │ │ ├── router.py │ │ │ └── service.py │ │ ├── search/ # search + filter (could merge into anime) │ │ │ ├── router.py │ │ │ └── service.py │ │ ├── episodes/ │ │ │ ├── router.py │ │ │ ├── service.py │ │ │ └── playback.py # signed URLs / HLS token logic │ │ ├── watchlist/ │ │ │ ├── router.py │ │ │ └── service.py │ │ ├── progress/ │ │ │ ├── router.py │ │ │ └── service.py │ │ └── admin/ │ │ ├── router.py │ │ └── upload_service.py # S3 / local storage, transcoding hooks │ │ │ ├── integrations/ # External services │ │ ├── storage.py # S3 / MinIO client │ │ ├── transcoder.py # ffmpeg / Mux / Cloudflare Stream │ │ └── email.py │ │ │ └── utils/ │ ├── pagination.py │ └── validators.py │ ├── alembic/ # DB migrations │ ├── versions/ │ └── env.py ├── tests/ │ ├── conftest.py │ ├── test_auth.py │ ├── test_anime.py │ └── test_watchlist.py ├── scripts/ │ └── seed.py ├── .env ├── .env.example ├── alembic.ini ├── pyproject.toml ├── Dockerfile └── docker-compose.yml