# shaswatabarua/nasa-fire-calendar-backend architecture

> Architecture diagram of the GitHub repository shaswatabarua/nasa-fire-calendar-backend, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/shaswatabarua/nasa-fire-calendar-backend
- Repository: https://github.com/shaswatabarua/nasa-fire-calendar-backend

## Overview

This is a small FastAPI service for querying NASA fire-activity data. Clients can request fire history for a geographic area and date range, or compare a date’s fire activity with a day-of-year climatology baseline; a health route reports that the API is running. The route handlers in main.py issue SQL through SQLAlchemy and format the results. The README is empty, so this map reflects only the supplied source; database schema and deployment details are not shown.

Main entry points: [`main.py`](https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py) (SQLAlchemy engine)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_http["HTTP API"]
  node_app["FastAPI app<br/>[main.py]"]
  node_health["Health route<br/>[main.py]"]
end

subgraph group_analysis["Fire Analytics"]
  node_history["Fire history route<br/>[main.py]"]
  node_critical["Critical periods route<br/>[main.py]"]
end

subgraph group_data["Data Access"]
  node_engine["SQLAlchemy engine<br/>[main.py]"]
  node_daily[("Daily fire data")]
  node_baseline[("Climatology baseline")]
end

node_client(("API client"))

node_client -->|"HTTP request"| node_app
node_app -->|"dispatches"| node_health
node_app -->|"dispatches"| node_history
node_app -->|"dispatches"| node_critical
node_health -->|"returns status"| node_client
node_history -->|"queries history"| node_engine
node_critical -->|"queries activity"| node_engine
node_critical -->|"queries baseline"| node_engine
node_engine -->|"reads"| node_daily
node_engine -->|"reads"| node_baseline
node_engine -->|"returns rows"| node_history
node_engine -->|"returns values"| node_critical
node_history -->|"returns history"| node_client
node_critical -->|"returns assessment"| node_client

click node_app "https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py"
click node_health "https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py"
click node_history "https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py"
click node_critical "https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py"
click node_engine "https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_health,node_client toneBlue
class node_history,node_critical toneAmber
class node_engine,node_daily,node_baseline toneMint
```

## Components

### HTTP API

- [FastAPI app](https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py): `main.py`
- [Health route](https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py): `main.py`

### Fire Analytics

- [Fire history route](https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py): `main.py`
- [Critical periods route](https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py): `main.py`

### Data Access

- [SQLAlchemy engine](https://github.com/shaswatabarua/nasa-fire-calendar-backend/blob/main/main.py): `main.py`
- **Daily fire data**
- **Climatology baseline**

### Other components

- **API client**

## Connections

- API client → FastAPI app: HTTP request
- FastAPI app → Health route: dispatches
- FastAPI app → Fire history route: dispatches
- FastAPI app → Critical periods route: dispatches
- Health route → API client: returns status
- Fire history route → SQLAlchemy engine: queries history
- Critical periods route → SQLAlchemy engine: queries activity
- Critical periods route → SQLAlchemy engine: queries baseline
- SQLAlchemy engine → Daily fire data: reads
- SQLAlchemy engine → Climatology baseline: reads
- SQLAlchemy engine → Fire history route: returns rows
- SQLAlchemy engine → Critical periods route: returns values
- Fire history route → API client: returns history
- Critical periods route → API client: returns assessment
