# priyankakeshava/moodjournalcalendar architecture

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

- Interactive diagram: https://gitdiagram.com/priyankakeshava/moodjournalcalendar
- Repository: https://github.com/priyankakeshava/moodjournalcalendar

## Overview

MoodJournal is a PHP/MySQL personal journaling app. Users enter through the home page, record or update a daily mood and note from the calendar, then review entries in history or mood-distribution statistics. The sampled source confirms the calendar, history, statistics, JSON API, and MySQL access paths; no authentication or other future features are represented.

Main entry points: [`api.php`](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/api.php) (Mood API), [`index.php`](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/index.php) (Calendar page), [`home.php`](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/home.php) (Home page), [`script.js`](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/script.js) (Calendar interaction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Journal Experience"]
  node_home["Home page<br/>[home.php]"]
  node_calendar["Calendar page<br/>[index.php]"]
  node_calendar_ui["Calendar interaction<br/>[script.js]"]
end

subgraph group_views["Review Views"]
  node_history_page["History page<br/>[history.php]"]
  node_history_ui["History rendering<br/>[history.js]"]
  node_stats["Statistics dashboard<br/>[stats.php]"]
end

subgraph group_backend["Data Backend"]
  node_api["Mood API<br/>[api.php]"]
  node_db_access["Database connection<br/>[db.php]"]
  node_mysql[("Mood database")]
end

node_user(("Journal user"))

node_user -->|"opens"| node_home
node_home -->|"links to"| node_calendar
node_user -->|"records mood"| node_calendar
node_calendar -->|"loads"| node_calendar_ui
node_calendar_ui -->|"fetches and saves"| node_api
node_user -->|"reviews entries"| node_history_page
node_history_page -->|"loads"| node_history_ui
node_history_ui -->|"fetches and deletes"| node_api
node_user -->|"views trends"| node_stats
node_stats -->|"fetches entries"| node_api
node_api -->|"uses connection"| node_db_access
node_db_access -->|"connects"| node_mysql
node_api -->|"queries and writes"| node_mysql

click node_home "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/home.php"
click node_calendar "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/index.php"
click node_calendar_ui "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/script.js"
click node_history_page "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/history.php"
click node_history_ui "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/history.js"
click node_stats "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/stats.php"
click node_api "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/api.php"
click node_db_access "https://github.com/priyankakeshava/moodjournalcalendar/blob/main/db.php"

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_home,node_calendar,node_calendar_ui,node_user toneBlue
class node_history_page,node_history_ui,node_stats toneAmber
class node_api,node_db_access,node_mysql toneMint
```

## Components

### Journal Experience

- [Home page](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/home.php): `home.php`
- [Calendar page](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/index.php): `index.php`
- [Calendar interaction](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/script.js): `script.js`

### Review Views

- [History page](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/history.php): `history.php`
- [History rendering](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/history.js): `history.js`
- [Statistics dashboard](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/stats.php): `stats.php`

### Data Backend

- [Mood API](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/api.php): `api.php`
- [Database connection](https://github.com/priyankakeshava/moodjournalcalendar/blob/main/db.php): `db.php`
- **Mood database**

### Other components

- **Journal user**

## Connections

- Journal user → Home page: opens
- Home page → Calendar page: links to
- Journal user → Calendar page: records mood
- Calendar page → Calendar interaction: loads
- Calendar interaction → Mood API: fetches and saves
- Journal user → History page: reviews entries
- History page → History rendering: loads
- History rendering → Mood API: fetches and deletes
- Journal user → Statistics dashboard: views trends
- Statistics dashboard → Mood API: fetches entries
- Mood API → Database connection: uses connection
- Database connection → Mood database: connects
- Mood API → Mood database: queries and writes
