Files
motovaultpro/docs/PLATFORM-SERVICES.md
2025-12-21 11:31:10 -06:00

97 lines
2.6 KiB
Markdown

# MVP Platform Module
## Overview
The MVP Platform module is fully integrated inside the MotoVaultPro backend container.
## Architecture
The platform module runs as part of the backend service:
- **Runtime**: `mvp-backend` container (Fastify API)
- **Shared Database**: Uses mvp-postgres
- **Shared Cache**: Uses mvp-redis
## Platform Capabilities
### Vehicle Data Service (Implemented)
The platform provides vehicle hierarchical data lookups:
- Vehicle years (distinct, descending)
- Vehicle makes for a specific year
- Vehicle models for year and make
- Vehicle trims for year, make, and model
- Engine and transmission data
**Endpoints**:
- `GET /api/platform/years` - Available model years
- `GET /api/platform/makes?year={year}` - Makes for year
- `GET /api/platform/models?year={year}&make={make}` - Models for year/make
- `GET /api/platform/trims?year={year}&make={make}&model={model}` - Trims
- `GET /api/platform/engines?year={year}&make={make}&model={model}&trim={trim}` - Engines
- `GET /api/platform/transmissions?...` - Transmissions
### VIN Decoding (Planned/Future)
VIN decoding is planned but not yet implemented. Future capabilities will include:
- `GET /api/platform/vehicle?vin={vin}` - Decode VIN to vehicle details
- PostgreSQL-based VIN decode function
- NHTSA vPIC API fallback with circuit breaker
- Redis caching (7-day TTL for successful decodes)
**Data Source**: Vehicle data from standardized sources
**Cache Strategy**: Year-based hierarchical caching using mvp-redis
## Service Communication
### Application → Platform Communication
- **Protocol**: Internal service calls within the application
- **Database**: Shared mvp-postgres database
- **Cache**: Shared mvp-redis cache
## Deployment Strategy
### Integrated Deployment
The platform module deploys with the main application:
- Same deployment pipeline
- Shares database and cache
- Deployed as part of the five-container stack
## Integration Patterns
### Data Access
Application features access platform data through shared database:
- Direct database queries
- Shared cache for performance
- Single transaction context
## Troubleshooting
### Common Issues
**Service Discovery Problems**:
- Verify Docker networking: `docker network ls`
- Check backend container connectivity: `docker compose exec mvp-backend sh`
**Database Connection Issues**:
- Verify mvp-postgres is healthy
- Check port mappings and network connectivity
### Health Checks
**Verify Backend Service (contains platform module)**:
```bash
docker compose ps mvp-backend
```
### Logs and Debugging
**Service Logs**:
```bash
docker compose logs -f mvp-backend
```
**Database Logs**:
```bash
docker compose logs -f mvp-postgres
```