How ashrafabid078/cloudcamp_hackathon works
Meridian Grid is a Bangladesh-focused energy-planning application: users authenticate, inspect source-labelled regional forecasts, generate and review optimized industrial/battery schedules, and optionally save plans or apply schedule overrides. The Next.js workspace uses a FastAPI backend; the backend also provides role-controlled history, an admin-published public showcase, and read-only Copilot tools with optional Gemini and a separate local MCP server. The graph follows documented capabilities and visible imports/calls; unsampled subsystem links are omitted where their runtime wiring cannot be verified.
Main entry points: api.py Dispatch routes · page.tsx Next.js workspace · router.py Forecast service · tools.py Read-only planning tools
Components 25
User experience
- Next.js workspace
frontend/src/app/(dashboard)/dispatch/page.tsx - API client
frontend/src/lib/api/client.ts - API services
frontend/src/lib/api/services.ts
Identity and persistence
- Authentication routes
backend/auth/router.py - JWT and role checks
backend/auth/utils.py - Application database
backend/db/database.py - User and plan records
backend/db/models.py
Forecasting
- Forecast service
backend/forecasting/router.py - Live weather and carbon
backend/forecasting/live_sources.py - Forecast models
backend/forecasting/models/base.py
Dispatch planning
- Dispatch routes
backend/dispatch/api.py - Asset adapters
backend/dispatch/adapters.py - Portfolio planner
backend/dispatch/planner.py - PuLP solver
backend/dispatch/solver.py - Saved plans and decisions
backend/dispatch/api.py
Copilot and publishing
- Copilot routes
backend/agent/router.py - Copilot reasoning
backend/agent/copilot_service.py - Read-only planning tools
backend/agent/tools.py - Local stdio MCP
backend/agent/mcp_server.py - Showcase publishing
backend/showcase/router.py - Showcase plugins
backend/showcase/plugins.py
Other components
- Planner or admin
- Open-Meteo
- Electricity Maps
- Gemini
Connections 28
- Planner or admin → Next.js workspace: uses
README.md - Next.js workspace → API services: requests product data
README.md - API services → API client: calls
frontend/src/lib/api/services.ts - API client → Authentication routes: sends API requests
README.md - Authentication routes → JWT and role checks: validates credentials
backend/auth/router.py - Authentication routes → Application database: reads and writes
backend/auth/router.py - Application database → User and plan records: creates tables
backend/db/database.py - Forecast service → Live weather and carbon: gets live inputs
backend/forecasting/router.py - Live weather and carbon → Open-Meteo: fetches weather
README.md - Live weather and carbon → Electricity Maps: fetches carbon data
README.md - Forecast service → Forecast models: selects forecaster
backend/forecasting/router.py - Dispatch routes → Forecast service: gets forecast
backend/dispatch/api.py - Dispatch routes → Asset adapters: adapts custom assets
backend/dispatch/api.py - Dispatch routes → Portfolio planner: requests schedule
backend/dispatch/api.py - Portfolio planner → Asset adapters: uses adapters
backend/dispatch/planner.py - Portfolio planner → PuLP solver: solves schedule
backend/dispatch/planner.py - Dispatch routes → Saved plans and decisions: saves and lists plans
backend/dispatch/api.py - Saved plans and decisions → Application database: persists records
backend/dispatch/api.py - Copilot routes → Copilot reasoning: handles chat
backend/agent/router.py - Copilot reasoning → Read-only planning tools: executes tool calls
backend/agent/copilot_service.py - Read-only planning tools → Forecast service: queries forecasts
backend/agent/tools.py - Read-only planning tools → Dispatch routes: previews schedules
backend/agent/tools.py - Copilot reasoning → Gemini: optionally requests reasoning
backend/agent/copilot_service.py - Local stdio MCP → Read-only planning tools: exposes tools
README.md - Showcase publishing → Showcase plugins: returns plugin snapshots
backend/showcase/router.py - Showcase publishing → Application database: stores publishing state
backend/showcase/router.py - Next.js workspace → Dispatch routes: uses planning endpoints
README.md - Next.js workspace → Showcase publishing: administers and views showcase
README.md