Files
nuzlocke-tracker/backend
Julian Tabel 3a64661760
Some checks failed
CI / backend-lint (push) Failing after 1m4s
CI / actions-lint (push) Failing after 6s
CI / frontend-lint (push) Successful in 59s
Align repo config with global development standards
- Add missing tsconfig strictness flags (noUncheckedIndexedAccess,
  exactOptionalPropertyTypes, noImplicitOverride,
  noPropertyAccessFromIndexSignature) and fix all resulting type errors
- Replace ESLint/Prettier with oxlint 1.48.0 and oxfmt 0.33.0
- Pin all frontend and backend dependencies to exact versions
- Pin GitHub Actions to SHA hashes with persist-credentials: false
- Fix CI Python version mismatch (3.12 -> 3.14) and ruff target-version
- Add vitest 4.0.18 with jsdom environment for frontend testing
- Add ty 0.0.17 for Python type checking (non-blocking in CI)
- Add actionlint and zizmor CI job for workflow linting and security audit
- Add Dependabot config for npm, pip, and github-actions
- Update CLAUDE.md and pre-commit hooks to reflect new tooling
- Ignore Claude Code sandbox artifacts in gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 20:39:41 +01:00
..
2026-02-14 22:43:44 +01:00
2026-02-13 15:53:22 +01:00

Nuzlocke Tracker API

Backend API for the Nuzlocke Tracker application, built with FastAPI.

Development Setup

From the project root:

docker compose up

This starts the API, frontend, and PostgreSQL database with hot reload enabled.

Option 2: Local Setup

  1. Create and activate virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. Install dependencies:

    pip install -e ".[dev]"
    
  3. Copy environment file:

    cp .env.example .env
    
  4. Run the development server:

    uvicorn app.main:app --reload --app-dir src
    

The API will be available at http://localhost:8000

API Documentation

Project Structure

backend/
├── src/
│   └── app/
│       ├── api/          # API routes
│       ├── core/         # Core configuration
│       ├── models/       # Database models
│       ├── schemas/      # Pydantic schemas
│       └── services/     # Business logic
├── tests/                # Test files
├── pyproject.toml        # Project configuration
└── .env.example          # Example environment variables

Linting & Formatting

ruff check .        # Check for issues
ruff check . --fix  # Fix auto-fixable issues
ruff format .       # Format code