# ade-nugraha306/yet-another-arima-project architecture

> Architecture diagram of the GitHub repository ade-nugraha306/yet-another-arima-project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ade-nugraha306/yet-another-arima-project
- Repository: https://github.com/ade-nugraha306/yet-another-arima-project

## Overview

Yet Another ARIMA Project is a web-based product-sales forecasting application. Users choose a product family and forecast horizon, then explore acquisition, preparation, EDA, ARIMA modeling, and evaluation views. The frontend obtains family and analysis data through its API client; the backend service excerpt shows data reshaping, cleaning, and stationarity analysis, while the README documents the broader workflow and evaluation metrics. Backend route wiring is not present in the supplied tree, so the API-to-service connection is shown as unverified.

Main entry points: [`frontend/src/pages/Index.tsx`](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/pages/Index.tsx) (Workflow dashboard), [`backend/services/arima_service.py`](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/backend/services/arima_service.py) (ARIMA service), [`frontend/src/services/api.ts`](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/services/api.ts) (API client), [`frontend/src/App.tsx`](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/App.tsx) (App shell)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Forecasting interface"]
  node_app["App shell<br/>[App.tsx]"]
  node_dashboard["Workflow dashboard<br/>[Index.tsx]"]
  node_sidebar["Stage controls<br/>[AppSidebar.tsx]"]
  node_api["API client<br/>[api.ts]"]
end

subgraph group_analysis["Sales analysis"]
  node_business["Business context"]
  node_acquisition["Data acquisition"]
  node_preparation["Data preparation"]
  node_eda["Exploratory analysis<br/>[EDA.tsx]"]
  node_modeling["ARIMA modeling<br/>[Modeling.tsx]"]
  node_evaluation["Model evaluation<br/>[Evaluation.tsx]"]
end

subgraph group_backend["Forecast service"]
  node_service["ARIMA service<br/>[arima_service.py]"]
end

node_user(("Forecaster"))
node_sales["Historical sales"]
node_forecast["Forecast results"]

node_user -->|"opens"| node_app
node_app -->|"routes to"| node_dashboard
node_dashboard -->|"renders"| node_sidebar
node_dashboard -->|"selects stage"| node_business
node_dashboard -->|"selects stage"| node_acquisition
node_dashboard -->|"selects stage"| node_preparation
node_dashboard -->|"selects stage"| node_eda
node_dashboard -->|"selects stage"| node_modeling
node_dashboard -->|"selects stage"| node_evaluation
node_dashboard -->|"loads families"| node_api
node_eda -->|"requests EDA"| node_api
node_sales -->|"supplies history"| node_service
node_service -->|"produces forecast"| node_forecast
node_service -.->|"serves requests"| node_api

click node_app "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/App.tsx"
click node_dashboard "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/pages/Index.tsx"
click node_sidebar "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/AppSidebar.tsx"
click node_api "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/services/api.ts"
click node_business "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/BusinessUnderstanding.tsx"
click node_acquisition "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/DataAcquisition.tsx"
click node_preparation "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/DataPreparation.tsx"
click node_eda "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/EDA.tsx"
click node_modeling "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/Modeling.tsx"
click node_evaluation "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/Evaluation.tsx"
click node_service "https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/backend/services/arima_service.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_dashboard,node_sidebar,node_api toneBlue
class node_business,node_acquisition,node_preparation,node_eda,node_modeling,node_evaluation toneAmber
class node_service toneMint
class node_user,node_sales,node_forecast toneIndigo
```

## Components

### Forecasting interface

- [App shell](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [Workflow dashboard](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/pages/Index.tsx): `frontend/src/pages/Index.tsx`
- [Stage controls](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/AppSidebar.tsx): `frontend/src/components/AppSidebar.tsx`
- [API client](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/services/api.ts): `frontend/src/services/api.ts`

### Sales analysis

- [Business context](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/BusinessUnderstanding.tsx): `frontend/src/components/stages/BusinessUnderstanding.tsx`
- [Data acquisition](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/DataAcquisition.tsx): `frontend/src/components/stages/DataAcquisition.tsx`
- [Data preparation](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/DataPreparation.tsx): `frontend/src/components/stages/DataPreparation.tsx`
- [Exploratory analysis](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/EDA.tsx): `frontend/src/components/stages/EDA.tsx`
- [ARIMA modeling](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/Modeling.tsx): `frontend/src/components/stages/Modeling.tsx`
- [Model evaluation](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/frontend/src/components/stages/Evaluation.tsx): `frontend/src/components/stages/Evaluation.tsx`

### Forecast service

- [ARIMA service](https://github.com/ade-nugraha306/yet-another-arima-project/blob/main/backend/services/arima_service.py): `backend/services/arima_service.py`

### Other components

- **Forecaster**
- **Historical sales**
- **Forecast results**

## Connections

- Forecaster → App shell: opens (evidence: `README.md`)
- App shell → Workflow dashboard: routes to (evidence: `frontend/src/App.tsx`)
- Workflow dashboard → Stage controls: renders (evidence: `frontend/src/pages/Index.tsx`)
- Workflow dashboard → Business context: selects stage (evidence: `frontend/src/pages/Index.tsx`)
- Workflow dashboard → Data acquisition: selects stage (evidence: `frontend/src/pages/Index.tsx`)
- Workflow dashboard → Data preparation: selects stage (evidence: `frontend/src/pages/Index.tsx`)
- Workflow dashboard → Exploratory analysis: selects stage (evidence: `frontend/src/pages/Index.tsx`)
- Workflow dashboard → ARIMA modeling: selects stage (evidence: `frontend/src/pages/Index.tsx`)
- Workflow dashboard → Model evaluation: selects stage (evidence: `frontend/src/pages/Index.tsx`)
- Workflow dashboard → API client: loads families (evidence: `frontend/src/pages/Index.tsx`)
- Exploratory analysis → API client: requests EDA (evidence: `frontend/src/components/stages/EDA.tsx`)
- Historical sales → ARIMA service: supplies history (evidence: `README.md`)
- ARIMA service → Forecast results: produces forecast (evidence: `README.md`)
- ARIMA service → API client: serves requests
