Files
rail-game/TODO.md
zwitschi fc1e874309
Some checks failed
Backend CI / lint-and-test (push) Failing after 2m15s
Frontend CI / lint-and-build (push) Successful in 1m1s
feat: Initialize frontend and backend structure with essential configurations
- Added TypeScript build info for frontend.
- Created Vite configuration for React application.
- Implemented pre-commit hook to run checks before commits.
- Set up PostgreSQL Dockerfile with PostGIS support and initialization scripts.
- Added database creation script for PostgreSQL with necessary extensions.
- Established Python project configuration with dependencies and development tools.
- Developed pre-commit script to enforce code quality checks for backend and frontend.
- Created PowerShell script to set up Git hooks path.
2025-10-11 15:25:32 +02:00

2.4 KiB
Raw Blame History

Development TODO Plan

Phase 1 Project Foundations

  • Initialize Git hooks, linting, and formatting tooling (ESLint, Prettier, isort, black).
  • Configure pyproject.toml or equivalent for backend dependency management.
  • Scaffold FastAPI application entrypoint with health-check endpoint.
  • Bootstrap React app with Vite/CRA, including routing skeleton and global state provider.
  • Define shared TypeScript/Python models for core domain entities (tracks, stations, trains).
  • Set up CI workflow for linting and test automation (GitHub Actions).

Phase 2 Core Features

  • Implement authentication flow (backend JWT, frontend login/register forms).
  • Build map visualization integrating Leaflet with OSM tiles.
  • Create railway builder tools (track placement, station creation) with backend persistence APIs.
  • Establish train scheduling service with validation rules and API endpoints.
  • Develop frontend dashboards for resources, schedules, and achievements.
  • Add real-time simulation updates (WebSocket layer, frontend subscription hooks).

Phase 3 Data & Persistence

  • Design PostgreSQL/PostGIS schema and migrations (Alembic or similar).
  • Implement data access layer with SQLAlchemy and repository abstractions.
  • Seed initial data fixtures for development/demo purposes.
  • Integrate caching strategy (Redis) for map tiles and frequent queries.

Phase 4 Testing & Quality

  • Write unit tests for backend services and models.
  • Add frontend component and hook tests (Jest + React Testing Library).
  • Implement end-to-end test suite (Playwright/Cypress) covering critical flows.
  • Set up load/performance testing harness for scheduling and simulation.

Phase 5 Deployment & Ops

  • Create Dockerfiles for frontend and backend, plus docker-compose for local dev.
  • Provision infrastructure scripts (Terraform/Ansible) targeting initial cloud environment.
  • Configure observability stack (logging, metrics, tracing).
  • Document deployment pipeline and release process.

Phase 6 Polish & Expansion

  • Add leaderboards and achievements logic with UI integration.
  • Implement accessibility audit fixes (WCAG compliance).
  • Optimize asset loading and introduce lazy loading strategies.
  • Evaluate multiplayer/coop roadmap and spike POCs where feasible.