RunTracker is a modern web application for deep analysis and tracking of running workouts. The project is built using advanced engineering practices such as Domain-Driven Design (DDD) and Hexagonal Architecture, ensuring high reliability and scalability.
The project follows Hexagonal Architecture and DDD principles.
make build
make up
| Service | URL |
|---|---|
| Frontend | http://localhost |
| Vite HMR | http://localhost:5173 |
| Mailpit | http://localhost:8025 |
| PostgreSQL | localhost:5432 (user: app) |
| Redis | localhost:6379 |
# Quality checks (linters, static analysis, tests)
make ci
# Individual checks
make lint # PHP CS Fixer (dry-run)
make lint-fix # PHP CS Fixer (auto-fix)
make lint-js # ESLint
make stan # PHPStan
make deptrac # Deptrac
make test # PHPUnit
make test-coverage # PHPUnit with coverage report
# Composer / pnpm
make composer cmd="require vendor/package"
make pnpm CMD="add -D some-package"
# Symfony console
make console cmd="about"
make cc # Clear cache
# Database
make migrate # Run migrations
make migrate-diff # Generate migration
make psql # PostgreSQL console
# Shells
make shell # PHP-FPM container
make shell-frontend # Frontend container
# Info
make help # All available commands
make info # Project info & versions
We use Conventional Commits: <type>(scope): <description>.
Examples: feat(auth): login, fix(api): validation error.
main (stable), feature/* (development).main, CI runs automatically.v1.0.0) triggers the CD pipeline: builds images and deploys to production.# Create release
git tag v1.0.0
git push origin v1.0.0