154 lines
5.0 KiB
JSON
154 lines
5.0 KiB
JSON
{
|
|
"version": "5.0.0",
|
|
"architecture": "simplified-6-container",
|
|
"critical_requirements": {
|
|
"mobile_desktop_development": "ALL features MUST be implemented and tested on BOTH mobile and desktop",
|
|
"context_efficiency": "95%",
|
|
"single_load_completeness": "100%",
|
|
"feature_capsule_organization": "100%",
|
|
"single_tenant": true,
|
|
"production_only_development": true,
|
|
"docker_first": true,
|
|
"multi_tenant": false
|
|
},
|
|
"ai_loading_strategy": {
|
|
"project_overview": {
|
|
"instruction": "Start with README.md for complete architecture context",
|
|
"files": ["README.md"],
|
|
"completeness": "100% - all navigation and 6-container architecture information"
|
|
},
|
|
"application_feature_work": {
|
|
"instruction": "Load entire application feature directory (features are modules within backend)",
|
|
"pattern": "backend/src/features/{feature}/",
|
|
"completeness": "100% - everything needed is in one directory"
|
|
},
|
|
"cross_feature_work": {
|
|
"instruction": "Load index.ts and README.md from each application feature",
|
|
"pattern": [
|
|
"backend/src/features/{feature}/index.ts",
|
|
"backend/src/features/{feature}/README.md"
|
|
]
|
|
},
|
|
"debugging": {
|
|
"instruction": "Start with feature README, expand to tests and docs",
|
|
"pattern": [
|
|
"backend/src/features/{feature}/README.md",
|
|
"backend/src/features/{feature}/tests/",
|
|
"backend/src/features/{feature}/docs/TROUBLESHOOTING.md"
|
|
]
|
|
},
|
|
"documentation": {
|
|
"instruction": "Use docs/README.md for complete documentation index",
|
|
"files": ["docs/README.md"],
|
|
"completeness": "All documentation links and navigation"
|
|
}
|
|
},
|
|
"services": {
|
|
"mvp-traefik": {
|
|
"type": "reverse_proxy",
|
|
"description": "Routes all HTTP/HTTPS traffic"
|
|
},
|
|
"mvp-frontend": {
|
|
"type": "react_app",
|
|
"description": "Vite-based React frontend"
|
|
},
|
|
"mvp-backend": {
|
|
"type": "fastify_api",
|
|
"description": "Node.js backend with feature modules"
|
|
},
|
|
"mvp-postgres": {
|
|
"type": "database",
|
|
"description": "PostgreSQL database",
|
|
"port": 5432
|
|
},
|
|
"mvp-redis": {
|
|
"type": "cache",
|
|
"description": "Redis cache",
|
|
"port": 6379
|
|
},
|
|
"mvp-platform": {
|
|
"type": "integrated_platform",
|
|
"description": "Integrated platform service for vehicle data and other capabilities"
|
|
}
|
|
},
|
|
"application_features": {
|
|
"vehicles": {
|
|
"path": "backend/src/features/vehicles/",
|
|
"type": "core_feature",
|
|
"self_contained": true,
|
|
"database_tables": ["vehicles"],
|
|
"cache_strategy": "User vehicle lists: 5 minutes",
|
|
"status": "implemented"
|
|
},
|
|
"fuel-logs": {
|
|
"path": "backend/src/features/fuel-logs/",
|
|
"type": "dependent_feature",
|
|
"self_contained": true,
|
|
"depends_on": ["vehicles"],
|
|
"database_tables": ["fuel_logs"],
|
|
"cache_strategy": "User logs: 5 minutes",
|
|
"status": "implemented_tests_scaffolded"
|
|
},
|
|
"maintenance": {
|
|
"path": "backend/src/features/maintenance/",
|
|
"type": "dependent_feature",
|
|
"self_contained": true,
|
|
"depends_on": ["vehicles"],
|
|
"database_tables": ["maintenance_logs", "maintenance_schedules"],
|
|
"cache_strategy": "Upcoming maintenance: 1 hour",
|
|
"status": "basic_structure_implemented"
|
|
},
|
|
"stations": {
|
|
"path": "backend/src/features/stations/",
|
|
"type": "independent_feature",
|
|
"self_contained": true,
|
|
"external_apis": ["Google Maps API"],
|
|
"database_tables": ["stations"],
|
|
"cache_strategy": "Station searches: 1 hour",
|
|
"status": "partial_implementation"
|
|
}
|
|
},
|
|
"feature_dependencies": {
|
|
"explanation": "Logical dependencies within single application service - all deploy together",
|
|
"sequence": ["vehicles", "fuel-logs", "maintenance", "stations", "documents"]
|
|
},
|
|
"development_environment": {
|
|
"type": "production_only_docker",
|
|
"ssl_enabled": true,
|
|
"frontend_url": "https://admin.motovaultpro.com",
|
|
"backend_url": "http://localhost:3001",
|
|
"cert_path": "./certs",
|
|
"hosts_file_entry": "127.0.0.1 admin.motovaultpro.com"
|
|
},
|
|
"testing_strategy": {
|
|
"framework": "Jest (backend + frontend)",
|
|
"container_based": true,
|
|
"commands": {
|
|
"all_tests": "make test",
|
|
"backend_only": "make shell-backend && npm test",
|
|
"frontend_only": "make test-frontend",
|
|
"feature_specific": "npm test -- features/{feature}"
|
|
}
|
|
},
|
|
"authentication": {
|
|
"provider": "Auth0",
|
|
"backend_framework": "Fastify with @fastify/jwt"
|
|
},
|
|
"external_services": {
|
|
"containers": {
|
|
"PostgreSQL": "mvp-postgres:5432",
|
|
"Redis": "mvp-redis:6379"
|
|
},
|
|
"external_apis": [
|
|
"Google Maps API",
|
|
"Auth0"
|
|
]
|
|
},
|
|
"ai_optimization_metadata": {
|
|
"feature_capsule_pattern": "backend/src/features/{name}/",
|
|
"single_directory_context": true,
|
|
"single_tenant_architecture": true,
|
|
"simplified_deployment": true,
|
|
"docker_first_development": true
|
|
}
|
|
} |