Community 93 Premium feature complete
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": "5.0.0",
|
||||
"architecture": "simplified-6-container",
|
||||
"version": "6.0.0",
|
||||
"architecture": "simplified-5-container",
|
||||
"critical_requirements": {
|
||||
"mobile_desktop_development": "ALL features MUST be implemented and tested on BOTH mobile and desktop",
|
||||
"context_efficiency": "95%",
|
||||
@@ -15,7 +15,7 @@
|
||||
"project_overview": {
|
||||
"instruction": "Start with README.md for complete architecture context",
|
||||
"files": ["README.md"],
|
||||
"completeness": "100% - all navigation and 6-container architecture information"
|
||||
"completeness": "100% - all navigation and 5-container architecture information"
|
||||
},
|
||||
"application_feature_work": {
|
||||
"instruction": "Load entire application feature directory (features are modules within backend)",
|
||||
@@ -30,11 +30,11 @@
|
||||
]
|
||||
},
|
||||
"debugging": {
|
||||
"instruction": "Start with feature README, expand to tests and docs",
|
||||
"instruction": "Start with feature README, expand to tests",
|
||||
"pattern": [
|
||||
"backend/src/features/{feature}/README.md",
|
||||
"backend/src/features/{feature}/tests/",
|
||||
"backend/src/features/{feature}/docs/TROUBLESHOOTING.md"
|
||||
"backend/src/features/{feature}/tests/unit/",
|
||||
"backend/src/features/{feature}/tests/integration/"
|
||||
]
|
||||
},
|
||||
"documentation": {
|
||||
@@ -46,15 +46,18 @@
|
||||
"services": {
|
||||
"mvp-traefik": {
|
||||
"type": "reverse_proxy",
|
||||
"description": "Routes all HTTP/HTTPS traffic"
|
||||
"description": "Routes all HTTP/HTTPS traffic, TLS termination",
|
||||
"ports": [80, 443, 8080]
|
||||
},
|
||||
"mvp-frontend": {
|
||||
"type": "react_app",
|
||||
"description": "Vite-based React frontend"
|
||||
"description": "Vite-based React frontend with nginx",
|
||||
"port": 3000
|
||||
},
|
||||
"mvp-backend": {
|
||||
"type": "fastify_api",
|
||||
"description": "Node.js backend with feature modules"
|
||||
"description": "Node.js backend with feature modules (includes platform capabilities)",
|
||||
"port": 3001
|
||||
},
|
||||
"mvp-postgres": {
|
||||
"type": "database",
|
||||
@@ -63,15 +66,19 @@
|
||||
},
|
||||
"mvp-redis": {
|
||||
"type": "cache",
|
||||
"description": "Redis cache",
|
||||
"description": "Redis cache with AOF persistence",
|
||||
"port": 6379
|
||||
},
|
||||
"mvp-platform": {
|
||||
"type": "integrated_platform",
|
||||
"description": "Integrated platform service for vehicle data and other capabilities"
|
||||
}
|
||||
},
|
||||
"application_features": {
|
||||
"admin": {
|
||||
"path": "backend/src/features/admin/",
|
||||
"type": "core_feature",
|
||||
"self_contained": true,
|
||||
"database_tables": ["admin_users", "platform_change_log"],
|
||||
"description": "Admin role management, platform catalog CRUD, station oversight",
|
||||
"status": "implemented"
|
||||
},
|
||||
"vehicles": {
|
||||
"path": "backend/src/features/vehicles/",
|
||||
"type": "core_feature",
|
||||
@@ -87,7 +94,7 @@
|
||||
"depends_on": ["vehicles"],
|
||||
"database_tables": ["fuel_logs"],
|
||||
"cache_strategy": "User logs: 5 minutes",
|
||||
"status": "implemented_tests_scaffolded"
|
||||
"status": "implemented"
|
||||
},
|
||||
"maintenance": {
|
||||
"path": "backend/src/features/maintenance/",
|
||||
@@ -96,38 +103,60 @@
|
||||
"depends_on": ["vehicles"],
|
||||
"database_tables": ["maintenance_logs", "maintenance_schedules"],
|
||||
"cache_strategy": "Upcoming maintenance: 1 hour",
|
||||
"status": "basic_structure_implemented"
|
||||
"status": "implemented"
|
||||
},
|
||||
"stations": {
|
||||
"path": "backend/src/features/stations/",
|
||||
"type": "independent_feature",
|
||||
"self_contained": true,
|
||||
"external_apis": ["Google Maps API"],
|
||||
"database_tables": ["stations"],
|
||||
"database_tables": ["stations", "community_stations"],
|
||||
"cache_strategy": "Station searches: 1 hour",
|
||||
"status": "partial_implementation"
|
||||
"status": "implemented"
|
||||
},
|
||||
"documents": {
|
||||
"path": "backend/src/features/documents/",
|
||||
"type": "independent_feature",
|
||||
"self_contained": true,
|
||||
"database_tables": ["documents"],
|
||||
"storage": "/app/data/documents/",
|
||||
"status": "implemented"
|
||||
},
|
||||
"platform": {
|
||||
"path": "backend/src/features/platform/",
|
||||
"type": "platform_feature",
|
||||
"self_contained": true,
|
||||
"database_tables": ["vehicle_options"],
|
||||
"cache_strategy": "Vehicle hierarchical data: 6 hours",
|
||||
"description": "Vehicle hierarchical data lookups (years, makes, models, trims, engines). VIN decoding is planned/future.",
|
||||
"status": "implemented_vin_decode_planned"
|
||||
}
|
||||
},
|
||||
"feature_dependencies": {
|
||||
"explanation": "Logical dependencies within single application service - all deploy together",
|
||||
"sequence": ["vehicles", "fuel-logs", "maintenance", "stations", "documents"]
|
||||
"sequence": ["admin", "platform", "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",
|
||||
"frontend_url": "https://motovaultpro.com",
|
||||
"backend_url": "https://motovaultpro.com/api",
|
||||
"cert_path": "./certs",
|
||||
"hosts_file_entry": "127.0.0.1 admin.motovaultpro.com"
|
||||
"hosts_file_entry": "127.0.0.1 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}"
|
||||
"all_tests": "npm test",
|
||||
"backend_shell": "make shell-backend",
|
||||
"feature_specific": "npm test -- --testPathPattern=src/features/{feature}",
|
||||
"single_file": "npm test -- --testPathPattern={filename}",
|
||||
"watch_mode": "npm run test:watch"
|
||||
},
|
||||
"test_locations": {
|
||||
"backend": "backend/src/features/{feature}/tests/unit/ and tests/integration/",
|
||||
"frontend": "frontend/src/features/{feature}/__tests__/ or frontend/test/"
|
||||
}
|
||||
},
|
||||
"authentication": {
|
||||
@@ -144,11 +173,17 @@
|
||||
"Auth0"
|
||||
]
|
||||
},
|
||||
"network_topology": {
|
||||
"frontend_network": "10.96.1.0/24 - public, Traefik + Frontend",
|
||||
"backend_network": "10.96.20.0/24 - API services (external for Auth0)",
|
||||
"database_network": "10.96.64.0/24 - internal, data layer isolation"
|
||||
},
|
||||
"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
|
||||
"docker_first_development": true,
|
||||
"container_count": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user