# hptho-gitlab/personal-schedule-management-app architecture

> Architecture diagram of the GitHub repository hptho-gitlab/personal-schedule-management-app, 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/hptho-gitlab/personal-schedule-management-app
- Repository: https://github.com/hptho-gitlab/personal-schedule-management-app

## Overview

This is an Android to-do app whose visible capabilities include task entry and detail, calendar browsing, completed-task review, statistics, and task notifications. The tree also shows separate repositories, DAOs, models, and a database helper, suggesting a persistence layer beneath the screens. Source excerpts and README documentation were not provided, so the connections between screens, data layers, and notification scheduling cannot be verified; those uncertain calls are intentionally not drawn.

Main entry points: [`app/src/main/java/com/example/todolist/activities/MainActivity.java`](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/MainActivity.java) (Task list)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_screens["Task screens"]
  node_load["Load screen<br/>[LoadActivity.java]"]
  node_main["Task list<br/>[MainActivity.java]"]
  node_add["Add task"]
  node_detail["Task detail"]
  node_calendar["Calendar"]
  node_completed["Completed tasks"]
  node_statistics["Statistics"]
end

subgraph group_presentation["List presentation"]
  node_task_adapter["Task adapter<br/>[TaskAdapter.java]"]
  node_calendar_adapter["Calendar adapter"]
  node_completed_adapter["Completed adapter"]
end

subgraph group_data["Task data"]
  node_task_repo["Task repository"]
  node_calendar_repo["Calendar repository"]
  node_completed_repo["Completed repository"]
  node_statistics_repo["Statistics repository"]
  node_task_dao["Task DAO<br/>[TaskDAO.java]"]
  node_calendar_dao["Calendar DAO<br/>[CalendarDAO.java]"]
  node_completed_dao["Completed DAO"]
  node_statistics_dao["Statistics DAO<br/>[StatisticDAO.java]"]
  node_db[("Local database<br/>[DBHelper.java]")]
  node_task_model["Task model<br/>[Task.java]"]
  node_note_model["Note model<br/>[Note.java]"]
end

subgraph group_reminders["Reminders"]
  node_alarm["Alarm scheduler"]
  node_notification["Task notification"]
end

node_user(("User"))

node_user -->|"uses app"| node_main

click node_load "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/LoadActivity.java"
click node_main "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/MainActivity.java"
click node_add "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/AddTaskActivity.java"
click node_detail "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/DetailTaskActivity.java"
click node_calendar "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/CalendarActivity.java"
click node_completed "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/CompletedTasksActivity.java"
click node_statistics "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/StatisticActivity.java"
click node_task_adapter "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/adapter/TaskAdapter.java"
click node_calendar_adapter "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/adapter/CalendarAdapter.java"
click node_completed_adapter "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/adapter/CompletedTaskAdapter.java"
click node_task_repo "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/TaskRepository.java"
click node_calendar_repo "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/CalendarRepository.java"
click node_completed_repo "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/CompletedTaskRepository.java"
click node_statistics_repo "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/StatisticRepository.java"
click node_task_dao "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/TaskDAO.java"
click node_calendar_dao "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/CalendarDAO.java"
click node_completed_dao "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/CompletedTaskDAO.java"
click node_statistics_dao "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/StatisticDAO.java"
click node_db "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/database/DBHelper.java"
click node_task_model "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/models/Task.java"
click node_note_model "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/models/Note.java"
click node_alarm "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/utils/AlarmScheduler.java"
click node_notification "https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/receivers/NotificationTask.java"

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_load,node_main,node_add,node_detail,node_calendar,node_completed,node_statistics,node_user toneBlue
class node_task_adapter,node_calendar_adapter,node_completed_adapter toneAmber
class node_task_repo,node_calendar_repo,node_completed_repo,node_statistics_repo,node_task_dao,node_calendar_dao,node_completed_dao,node_statistics_dao,node_db,node_task_model,node_note_model toneMint
class node_alarm,node_notification toneRose
```

## Components

### Task screens

- [Load screen](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/LoadActivity.java): `app/src/main/java/com/example/todolist/activities/LoadActivity.java`
- [Task list](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/MainActivity.java): `app/src/main/java/com/example/todolist/activities/MainActivity.java`
- [Add task](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/AddTaskActivity.java): `app/src/main/java/com/example/todolist/activities/AddTaskActivity.java`
- [Task detail](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/DetailTaskActivity.java): `app/src/main/java/com/example/todolist/activities/DetailTaskActivity.java`
- [Calendar](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/CalendarActivity.java): `app/src/main/java/com/example/todolist/activities/CalendarActivity.java`
- [Completed tasks](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/CompletedTasksActivity.java): `app/src/main/java/com/example/todolist/activities/CompletedTasksActivity.java`
- [Statistics](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/activities/StatisticActivity.java): `app/src/main/java/com/example/todolist/activities/StatisticActivity.java`

### List presentation

- [Task adapter](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/adapter/TaskAdapter.java): `app/src/main/java/com/example/todolist/adapter/TaskAdapter.java`
- [Calendar adapter](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/adapter/CalendarAdapter.java): `app/src/main/java/com/example/todolist/adapter/CalendarAdapter.java`
- [Completed adapter](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/adapter/CompletedTaskAdapter.java): `app/src/main/java/com/example/todolist/adapter/CompletedTaskAdapter.java`

### Task data

- [Task repository](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/TaskRepository.java): `app/src/main/java/com/example/todolist/repository/TaskRepository.java`
- [Calendar repository](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/CalendarRepository.java): `app/src/main/java/com/example/todolist/repository/CalendarRepository.java`
- [Completed repository](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/CompletedTaskRepository.java): `app/src/main/java/com/example/todolist/repository/CompletedTaskRepository.java`
- [Statistics repository](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/repository/StatisticRepository.java): `app/src/main/java/com/example/todolist/repository/StatisticRepository.java`
- [Task DAO](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/TaskDAO.java): `app/src/main/java/com/example/todolist/dao/TaskDAO.java`
- [Calendar DAO](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/CalendarDAO.java): `app/src/main/java/com/example/todolist/dao/CalendarDAO.java`
- [Completed DAO](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/CompletedTaskDAO.java): `app/src/main/java/com/example/todolist/dao/CompletedTaskDAO.java`
- [Statistics DAO](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/dao/StatisticDAO.java): `app/src/main/java/com/example/todolist/dao/StatisticDAO.java`
- [Local database](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/database/DBHelper.java): `app/src/main/java/com/example/todolist/database/DBHelper.java`
- [Task model](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/models/Task.java): `app/src/main/java/com/example/todolist/models/Task.java`
- [Note model](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/models/Note.java): `app/src/main/java/com/example/todolist/models/Note.java`

### Reminders

- [Alarm scheduler](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/utils/AlarmScheduler.java): `app/src/main/java/com/example/todolist/utils/AlarmScheduler.java`
- [Task notification](https://github.com/hptho-gitlab/personal-schedule-management-app/blob/master/app/src/main/java/com/example/todolist/receivers/NotificationTask.java): `app/src/main/java/com/example/todolist/receivers/NotificationTask.java`

### Other components

- **User**

## Connections

- User → Task list: uses app
