How spihar/caterpillarhackathon works
Smart Rental Intelligence is a dealer-facing equipment-rental and fleet-monitoring platform. A dealer logs in, views fleet and rental status in the dashboard, and can use the AI assistant; a separate telemetry client reports equipment readings to the API. The backend manages rental and fleet data, then derives alerts, demand forecasts, anomalies, and maintenance scores. The README documents QR check-in/out and other capabilities whose route implementations were not sampled; those are represented at their documented module boundaries. Arrows reflect sampled calls and documented telemetry flow.
Main entry points: database.py SQLite database · main.py FastAPI entry · DashboardPage.tsx Fleet dashboard · api.ts HTTP client
Components 31
Dealer interface
- App routing
frontend/src/App.tsx - Login page
frontend/src/pages/LoginPage.tsx - Fleet dashboard
frontend/src/pages/DashboardPage.tsx - Fleet views
frontend/src/components/FleetOverview.tsx - Rental panel
frontend/src/components/RentalsPanel.tsx - Alerts panel
frontend/src/components/AlertsPanel.tsx - Forecast panel
frontend/src/components/ForecastPanel.tsx - Asset map
frontend/src/components/AssetMap.tsx - Agent chat
frontend/src/components/AgentChat.tsx - HTTP client
frontend/src/api.ts
Rental platform API
- FastAPI entry
backend/app/main.py - Authentication
backend/app/routers/auth.py - Fleet and sites
backend/app/routers/equipment.py - Rental operations
backend/app/routers/rentals.py - Dashboard data
backend/app/routers/dashboard.py - Telemetry intake
backend/app/routers/telemetry.py - Assistant endpoint
backend/app/routers/agent.py
Fleet intelligence
- Safety checks
backend/app/services/simulator.py - Telemetry processing
backend/app/services/telemetry_ingest.py - Overdue alerts
backend/app/services/alert_service.py - Anomaly detection
backend/app/services/anomaly_service.py - Demand forecast
backend/app/services/forecast_service.py - Maintenance scoring
backend/app/services/maintenance_service.py - Agent orchestrator
backend/app/agents/orchestrator.py - Specialist agents
backend/app/agents/specialists.py - Agent tools
backend/app/agents/tools.py
Data and integrations
- SQLite database
backend/app/database.py - Domain models
backend/app/models.py - Telemetry client
backend/live_telemetry_client.py
Other components
- Dealer
- Groq LLM
Connections 45
- Dealer → App routing: uses
- App routing → Login page: routes to
- App routing → Fleet dashboard: routes to
- Login page → HTTP client: submits login
- Fleet dashboard → HTTP client: requests data
- Fleet dashboard → Fleet views: renders
- Fleet dashboard → Rental panel: renders
- Fleet dashboard → Alerts panel: renders
- Fleet dashboard → Forecast panel: renders
- Fleet dashboard → Asset map: renders
- Fleet dashboard → Agent chat: renders
- HTTP client → Authentication: calls
- HTTP client → Fleet and sites: calls
- HTTP client → Rental operations: calls
- HTTP client → Dashboard data: calls
- HTTP client → Assistant endpoint: calls
- FastAPI entry → Authentication: registers
- FastAPI entry → Fleet and sites: registers
- FastAPI entry → Rental operations: registers
- FastAPI entry → Dashboard data: registers
- FastAPI entry → Telemetry intake: registers
- FastAPI entry → Assistant endpoint: registers
- FastAPI entry → SQLite database: initializes
- FastAPI entry → Safety checks: runs checks
- FastAPI entry → Demand forecast: runs forecast
- Telemetry client → Telemetry intake: posts readings
- Telemetry intake → Telemetry processing: passes readings
- Telemetry processing → SQLite database: persists telemetry
- Safety checks → Overdue alerts: checks returns
- Safety checks → Anomaly detection: checks anomalies
- Safety checks → Maintenance scoring: scores equipment
- Assistant endpoint → Agent orchestrator: dispatches query
- Agent orchestrator → Specialist agents: routes query
- Specialist agents → Agent tools: invokes tools
- Agent orchestrator → Groq LLM: routes with LLM
- Agent tools → SQLite database: reads fleet data
- Authentication → SQLite database: checks dealer
- Fleet and sites → SQLite database: reads and writes
- Rental operations → SQLite database: reads and writes
- Dashboard data → SQLite database: reads summaries
- Overdue alerts → SQLite database: stores notifications
- Anomaly detection → SQLite database: stores findings
- Demand forecast → SQLite database: stores forecasts
- Maintenance scoring → SQLite database: stores alerts
- SQLite database → Domain models: maps records