Skip to content

Project structure

High-level map of the Trak codebase.

Key paths

  • trak/ (project root)
  • manage.py entry point for Django commands
  • pyproject.toml + uv.lock for Python dependencies
  • compose.yml and Dockerfile* for containerized dev
  • trak/trak/ (Django project package)
  • main/ settings, urls, ASGI/WSGI, Celery config
  • trak/trak/apps/ (Django apps)
  • Core SaaS apps: api, dashboard, org, profile, subscriptions, support, teams, users, utils, web
  • RCRA domain apps: rcra/manifest, rcra/wasteline, rcra/rcrasite, rcra/rcrainfo
  • pegasus/ vendorized Pegasus apps and utilities
  • assets/ source JavaScript and CSS (built by Vite)
  • static/ static files and Vite output
  • templates/ Django templates
  • frontend/ standalone React app (separate Vite build)
  • api-client/ generated TypeScript API client
  • tests/ test suite
  • docs/ mkdocs documentation

Settings layout

Settings live in trak/trak/main/settings/:

  • base.py shared settings
  • dev.py development overrides
  • prod.py production overrides
  • test.py test settings

Frontend builds

  • Django templates load Vite assets via django-vite.
  • The standalone React app has its own build under frontend/.

See Tooling for environment and build commands.