Files
motovaultpro/PROJECT_MAP.md
Eric Gullickson 8f5117a4e2 MVP Build
2025-08-09 12:47:15 -05:00

1.7 KiB

MotoVaultPro Navigation Map - Modified Feature Capsule Design

Architecture Philosophy

Each feature is a complete, self-contained capsule. Load ONE directory for 100% context.

Quick Task Guide

Working on a Feature

# Load complete context
cd backend/src/features/[feature-name]/

# Everything is here:
# - API endpoints (api/)
# - Business logic (domain/)
# - Database operations (data/)
# - Schema migrations (migrations/)
# - External integrations (external/)
# - All tests (tests/)
# - Documentation (docs/)

Adding New Feature

./scripts/generate-feature-capsule.sh [feature-name]
# Creates complete capsule structure with all subdirectories

Running Feature Migrations

# Single feature
npm run migrate:feature [feature-name]

# All features (respects dependencies)
npm run migrate:all

Testing Strategy

# Test single feature (complete isolation)
npm test -- features/[feature-name]

# Test feature integration
npm test -- features/[feature-name]/tests/integration

# Test everything
npm test

Feature Capsules

Vehicles (Primary Entity)

  • Path: backend/src/features/vehicles/
  • External: NHTSA vPIC for VIN decoding
  • Dependencies: None (base feature)
  • Cache: VIN lookups for 30 days

Fuel Logs

  • Path: backend/src/features/fuel-logs/
  • External: None
  • Dependencies: Vehicles (for vehicle_id)
  • Cache: User's logs for 5 minutes

Maintenance

  • Path: backend/src/features/maintenance/
  • External: None
  • Dependencies: Vehicles (for vehicle_id)
  • Cache: Upcoming maintenance for 1 hour

Stations

  • Path: backend/src/features/stations/
  • External: Google Maps API
  • Dependencies: None (independent)
  • Cache: Station searches for 1 hour