# shriyansh24-coder/official-projects architecture

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

- Interactive diagram: https://gitdiagram.com/shriyansh24-coder/official-projects
- Repository: https://github.com/shriyansh24-coder/official-projects

## Overview

This repository is a collection of four desktop applications: expense tracking, learning management, playlist playback, and text-to-speech. Users enter each app through its GUI, then manage expenses, study courses and quizzes, play saved music, or generate and hear speech. The sampled code confirms some entry-point, database, and playback relationships; several page and module implementations are unsampled, so their internal wiring is left unspecified.

Main entry points: [`Text-To-Speech/app.py`](https://github.com/shriyansh24-coder/official-projects/blob/main/Text-To-Speech/app.py) (Speech Studio), [`ExpenseTracker/database.py`](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/database.py) (Expense Database), [`ExpenseTracker/main.py`](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/main.py) (Expense GUI), [`LearnHub/main.py`](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/main.py) (LearnHub App)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_expense["Expense Tracker"]
  node_expense_app["Expense GUI<br/>[main.py]"]
  node_expense_entry["Add Expense<br/>[add_expense.py]"]
  node_expense_list["Expense Records<br/>[expenses.py]"]
  node_expense_analytics["Analytics<br/>[analytics.py]"]
  node_expense_dashboard["Dashboard<br/>[dashboard.py]"]
  node_expense_settings["Settings<br/>[settings.py]"]
  node_expense_db[("Expense Database<br/>[database.py]")]
end

subgraph group_learnhub["LearnHub"]
  node_learn_app["LearnHub App<br/>[main.py]"]
  node_learn_login["Login<br/>[login.py]"]
  node_learn_register["Registration<br/>[register.py]"]
  node_learn_dashboard["Learning Dashboard<br/>[dashboard.py]"]
  node_learn_courses["Course Catalog<br/>[courses.py]"]
  node_learn_details["Course Lessons<br/>[course_details.py]"]
  node_learn_quiz["Quizzes<br/>[quiz.py]"]
  node_learn_notes["Notes<br/>[notes.py]"]
  node_learn_profile["Profile<br/>[profile.py]"]
  node_learn_settings["Settings<br/>[settings.py]"]
  node_learn_home["Home<br/>[home.py]"]
  node_learn_db[("Learning Database<br/>[database.py]")]
end

subgraph group_music["Playlist Manager"]
  node_music_app["Playlist App<br/>[main.py]"]
  node_music_window["Main Window<br/>[main_window.py]"]
  node_music_player["Player Module<br/>[player.py]"]
  node_music_playlist["Playlist Module<br/>[playlist.py]"]
  node_music_storage[("Playlist Storage<br/>[storage.py]")]
end

subgraph group_tts["Text To Speech"]
  node_tts_app["Speech Studio<br/>[app.py]"]
end

node_expense_user(("User"))
node_learn_user(("Learner"))
node_music_user(("Listener"))
node_tts_user(("Text User"))
node_gemini{{"Gemini API"}}
node_audio_device{{"Audio Output"}}

node_expense_user -->|"uses"| node_expense_app
node_expense_app -->|"creates table"| node_expense_db
node_expense_dashboard -->|"reads totals"| node_expense_db
node_expense_list -->|"loads records"| node_expense_db
node_learn_user -->|"uses"| node_learn_app
node_learn_app -->|"opens"| node_learn_login
node_learn_db -->|"stores users, courses, progress, notes, scores"| node_learn_db
node_music_user -->|"uses"| node_music_app
node_music_app -->|"opens"| node_music_window
node_music_window -->|"loads and saves playlist"| node_music_storage
node_tts_user -->|"enters text and controls playback"| node_tts_app
node_tts_app -->|"requests speech audio"| node_gemini
node_tts_app -->|"plays audio"| node_audio_device

click node_expense_app "https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/main.py"
click node_expense_entry "https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/add_expense.py"
click node_expense_list "https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/expenses.py"
click node_expense_analytics "https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/analytics.py"
click node_expense_dashboard "https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/dashboard.py"
click node_expense_settings "https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/settings.py"
click node_expense_db "https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/database.py"
click node_learn_app "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/main.py"
click node_learn_login "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/login.py"
click node_learn_register "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/register.py"
click node_learn_dashboard "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/dashboard.py"
click node_learn_courses "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/courses.py"
click node_learn_details "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/course_details.py"
click node_learn_quiz "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/quiz.py"
click node_learn_notes "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/notes.py"
click node_learn_profile "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/profile.py"
click node_learn_settings "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/settings.py"
click node_learn_home "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/home.py"
click node_learn_db "https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/database.py"
click node_music_app "https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/main.py"
click node_music_window "https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/ui/main_window.py"
click node_music_player "https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/modules/player.py"
click node_music_playlist "https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/modules/playlist.py"
click node_music_storage "https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/modules/storage.py"
click node_tts_app "https://github.com/shriyansh24-coder/official-projects/blob/main/Text-To-Speech/app.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_expense_app,node_expense_entry,node_expense_list,node_expense_analytics,node_expense_dashboard,node_expense_settings,node_expense_db,node_expense_user,node_tts_user toneBlue
class node_learn_app,node_learn_login,node_learn_register,node_learn_dashboard,node_learn_courses,node_learn_details,node_learn_quiz,node_learn_notes,node_learn_profile,node_learn_settings,node_learn_home,node_learn_db toneAmber
class node_music_app,node_music_window,node_music_player,node_music_playlist,node_music_storage,node_gemini toneMint
class node_tts_app toneRose
class node_learn_user,node_music_user,node_audio_device toneIndigo
```

## Components

### Expense Tracker

- [Expense GUI](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/main.py): `ExpenseTracker/main.py`
- [Add Expense](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/add_expense.py): `ExpenseTracker/pages/add_expense.py`
- [Expense Records](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/expenses.py): `ExpenseTracker/pages/expenses.py`
- [Analytics](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/analytics.py): `ExpenseTracker/pages/analytics.py`
- [Dashboard](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/dashboard.py): `ExpenseTracker/pages/dashboard.py`
- [Settings](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/pages/settings.py): `ExpenseTracker/pages/settings.py`
- [Expense Database](https://github.com/shriyansh24-coder/official-projects/blob/main/ExpenseTracker/database.py): `ExpenseTracker/database.py`

### LearnHub

- [LearnHub App](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/main.py): `LearnHub/main.py`
- [Login](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/login.py): `LearnHub/login.py`
- [Registration](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/register.py): `LearnHub/register.py`
- [Learning Dashboard](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/dashboard.py): `LearnHub/dashboard.py`
- [Course Catalog](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/courses.py): `LearnHub/pages/courses.py`
- [Course Lessons](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/course_details.py): `LearnHub/pages/course_details.py`
- [Quizzes](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/quiz.py): `LearnHub/pages/quiz.py`
- [Notes](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/notes.py): `LearnHub/pages/notes.py`
- [Profile](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/profile.py): `LearnHub/pages/profile.py`
- [Settings](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/settings.py): `LearnHub/pages/settings.py`
- [Home](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/pages/home.py): `LearnHub/pages/home.py`
- [Learning Database](https://github.com/shriyansh24-coder/official-projects/blob/main/LearnHub/database.py): `LearnHub/database.py`

### Playlist Manager

- [Playlist App](https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/main.py): `MusicPlaylistManager/main.py`
- [Main Window](https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/ui/main_window.py): `MusicPlaylistManager/ui/main_window.py`
- [Player Module](https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/modules/player.py): `MusicPlaylistManager/modules/player.py`
- [Playlist Module](https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/modules/playlist.py): `MusicPlaylistManager/modules/playlist.py`
- [Playlist Storage](https://github.com/shriyansh24-coder/official-projects/blob/main/MusicPlaylistManager/modules/storage.py): `MusicPlaylistManager/modules/storage.py`

### Text To Speech

- [Speech Studio](https://github.com/shriyansh24-coder/official-projects/blob/main/Text-To-Speech/app.py): `Text-To-Speech/app.py`

### Other components

- **User**
- **Learner**
- **Listener**
- **Text User**
- **Gemini API**
- **Audio Output**

## Connections

- User → Expense GUI: uses
- Expense GUI → Expense Database: creates table
- Dashboard → Expense Database: reads totals
- Expense Records → Expense Database: loads records
- Learner → LearnHub App: uses
- LearnHub App → Login: opens
- Learning Database → Learning Database: stores users, courses, progress, notes, scores
- Listener → Playlist App: uses
- Playlist App → Main Window: opens
- Main Window → Playlist Storage: loads and saves playlist
- Text User → Speech Studio: enters text and controls playback
- Speech Studio → Gemini API: requests speech audio
- Speech Studio → Audio Output: plays audio
