How ace2k5/it-314-project works
WebSys is a weather-map web application for viewing weather across Manila-area locations, with zoom-dependent city/region detail and a debug panel. The main workflow is the map requesting weather through the browser API client, the FastAPI backend fetching forecasts using configured coordinates, and the map rendering weather markers. The graph also includes the separate weather-information view and status/logging capabilities. Some frontend wiring is inferred only from sampled components; DebugPanel’s implementation was not sampled.
Main entry points: callAPI.py API routes · receiveAPI.tsx API client · App.tsx App shell · Map.tsx Weather map
Components 18
Web client
- React entry
src/WebSys/src/main.tsx - App shell
src/WebSys/src/App.tsx - Map controls
src/WebSys/src/components/leaflet/MapButton.tsx - Weather map
src/WebSys/src/components/leaflet/Map.tsx - Weather details
src/WebSys/src/components/weather/weather_information.tsx - Debug controls
src/WebSys/src/components/debug/DebugPanelButton.tsx - Status panel
src/WebSys/src/components/debug/DebugPanel.tsx - API client
src/WebSys/src/api/receiveAPI.tsx
Backend service
- FastAPI app
src/backend/main.py - API routes
src/backend/api/callAPI.py - Request models
src/backend/request_models/getMessage.py - Processing errors
src/backend/errors.py - Log setup
src/backend/logger.py
Weather data
- Location sets
src/backend/geography/locations.py
External services
- Open-Meteo
- Map tiles
Other components
- User
- Browser
Connections 20
- User → Browser: uses
- Browser → React entry: loads
- React entry → App shell: renders
- App shell → Map controls: renders
- App shell → Weather details: renders
- App shell → Debug controls: renders
- Map controls → Weather map: shows
- Debug controls → Status panel: shows
- Weather map → API client: requests weather
- Weather details → API client: requests weather
- Debug controls → API client: logs actions
- Status panel → API client: checks status
- API client → FastAPI app: HTTP requests
- FastAPI app → API routes: registers routes
- API routes → Request models: validates requests
- API routes → Location sets: reads coordinates
- API routes → Open-Meteo: fetches forecasts
- FastAPI app → Log setup: configures logging
- API routes → Processing errors: raises errors
- Weather map → Map tiles: loads basemap