# parthagashe27/100-days-of-python architecture

> Architecture diagram of the GitHub repository parthagashe27/100-days-of-python, 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/parthagashe27/100-days-of-python
- Repository: https://github.com/parthagashe27/100-days-of-python

## Overview

This repository is a day-by-day collection of Python learning projects, not one integrated application. Its projects range from small command-line games to desktop apps, web apps, API services, and browser automation. A representative end-to-end workflow is the later blog app: visitors browse posts; users register, log in, and comment; an administrator creates, edits, or deletes posts. The graph also preserves prominent quiz, scraping, flight-deal, and cafe-API projects. Connections are limited to relationships shown in sampled source or the source index; many listed projects were not inspected in detail.

Main entry points: [`day-40(capstone_project)/flight_deals_v2.py`](https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/flight_deals_v2.py) (Flight deals), [`day-71/main.py`](https://github.com/parthagashe27/100-days-of-python/blob/main/day-71/main.py) (Blog routes), [`day-34/ui.py`](https://github.com/parthagashe27/100-days-of-python/blob/main/day-34/ui.py) (Quiz interface), [`day-57/blog capstone/main.py`](https://github.com/parthagashe27/100-days-of-python/blob/main/day-57/blog%20capstone/main.py) (Remote blog reader)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_blog["Blog application"]
  node_blogapp["Blog routes<br/>[main.py]"]
  node_forms["Blog forms<br/>[forms.py]"]
  node_blogdb[("Blog database<br/>[main.py]")]
end

subgraph group_learning["Games and quizzes"]
  node_quizui["Quiz interface<br/>[ui.py]"]
  node_quizbrain["Quiz engine<br/>[quiz_brain.py]"]
  node_blackjack["Blackjack game"]
  node_treasure["Treasure Island<br/>[treasure_island.py]"]
end

subgraph group_web["Web and API projects"]
  node_cafeapi["Cafe API<br/>[main.py]"]
  node_blogreader["Remote blog reader<br/>[main.py]"]
  node_postmodel["Post model<br/>[post.py]"]
end

subgraph group_automation["Automation and integrations"]
  node_flightdeals["Flight deals<br/>[flight_deals_v2.py]"]
  node_flightsearch["Flight search<br/>[flight_search.py]"]
  node_flightdata["Flight data<br/>[flight_data.py]"]
  node_sheetdata["Sheet manager<br/>[data_manager.py]"]
  node_notifications["Deal notifications"]
  node_scraper["Movie scraper"]
end

subgraph group_desktop["Desktop applications"]
  node_coffee["Coffee machine<br/>[coffee_machine.py]"]
  node_snake["Snake game<br/>[snake_game.py]"]
  node_turtle["Turtle race<br/>[turtle_race.py]"]
end

node_visitor(("Site visitor"))

node_visitor -->|"uses routes"| node_blogapp
node_blogapp -->|"uses forms"| node_forms
node_blogapp -->|"reads and writes"| node_blogdb
node_quizui -->|"checks answers"| node_quizbrain
node_blogreader -->|"creates posts"| node_postmodel
node_flightdeals -.-> node_sheetdata
node_flightdeals -.-> node_flightsearch
node_flightdeals -.-> node_flightdata
node_flightdeals -.-> node_notifications

click node_blogapp "https://github.com/parthagashe27/100-days-of-python/blob/main/day-71/main.py"
click node_forms "https://github.com/parthagashe27/100-days-of-python/blob/main/day-69/forms.py"
click node_blogdb "https://github.com/parthagashe27/100-days-of-python/blob/main/day-71/main.py"
click node_quizui "https://github.com/parthagashe27/100-days-of-python/blob/main/day-34/ui.py"
click node_quizbrain "https://github.com/parthagashe27/100-days-of-python/blob/main/day-17/quiz_brain.py"
click node_blackjack "https://github.com/parthagashe27/100-days-of-python/blob/main/day-11/blackjack_program.py"
click node_treasure "https://github.com/parthagashe27/100-days-of-python/blob/main/day-03/treasure_island.py"
click node_cafeapi "https://github.com/parthagashe27/100-days-of-python/blob/main/day-66/main.py"
click node_flightdeals "https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/flight_deals_v2.py"
click node_flightsearch "https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/flight_search.py"
click node_flightdata "https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/flight_data.py"
click node_sheetdata "https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/data_manager.py"
click node_notifications "https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/notification_manager.py"
click node_scraper "https://github.com/parthagashe27/100-days-of-python/blob/main/day-45/movie_list_scraper.py"
click node_blogreader "https://github.com/parthagashe27/100-days-of-python/blob/main/day-57/blog%20capstone/main.py"
click node_postmodel "https://github.com/parthagashe27/100-days-of-python/blob/main/day-57/blog%20capstone/post.py"
click node_coffee "https://github.com/parthagashe27/100-days-of-python/blob/main/day-15/coffee_machine.py"
click node_snake "https://github.com/parthagashe27/100-days-of-python/blob/main/day-21/snake_game.py"
click node_turtle "https://github.com/parthagashe27/100-days-of-python/blob/main/day-19/turtle_race.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_blogapp,node_forms,node_blogdb toneBlue
class node_quizui,node_quizbrain,node_blackjack,node_treasure toneAmber
class node_cafeapi,node_blogreader,node_postmodel toneMint
class node_flightdeals,node_flightsearch,node_flightdata,node_sheetdata,node_notifications,node_scraper toneRose
class node_coffee,node_snake,node_turtle,node_visitor toneIndigo
```

## Components

### Blog application

- [Blog routes](https://github.com/parthagashe27/100-days-of-python/blob/main/day-71/main.py): `day-71/main.py`
- [Blog forms](https://github.com/parthagashe27/100-days-of-python/blob/main/day-69/forms.py): `day-69/forms.py`
- [Blog database](https://github.com/parthagashe27/100-days-of-python/blob/main/day-71/main.py): `day-71/main.py`

### Games and quizzes

- [Quiz interface](https://github.com/parthagashe27/100-days-of-python/blob/main/day-34/ui.py): `day-34/ui.py`
- [Quiz engine](https://github.com/parthagashe27/100-days-of-python/blob/main/day-17/quiz_brain.py): `day-17/quiz_brain.py`
- [Blackjack game](https://github.com/parthagashe27/100-days-of-python/blob/main/day-11/blackjack_program.py): `day-11/blackjack_program.py`
- [Treasure Island](https://github.com/parthagashe27/100-days-of-python/blob/main/day-03/treasure_island.py): `day-03/treasure_island.py`

### Web and API projects

- [Cafe API](https://github.com/parthagashe27/100-days-of-python/blob/main/day-66/main.py): `day-66/main.py`
- [Remote blog reader](https://github.com/parthagashe27/100-days-of-python/blob/main/day-57/blog%20capstone/main.py): `day-57/blog capstone/main.py`
- [Post model](https://github.com/parthagashe27/100-days-of-python/blob/main/day-57/blog%20capstone/post.py): `day-57/blog capstone/post.py`

### Automation and integrations

- [Flight deals](https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/flight_deals_v2.py): `day-40(capstone_project)/flight_deals_v2.py`
- [Flight search](https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/flight_search.py): `day-40(capstone_project)/flight_search.py`
- [Flight data](https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/flight_data.py): `day-40(capstone_project)/flight_data.py`
- [Sheet manager](https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/data_manager.py): `day-40(capstone_project)/data_manager.py`
- [Deal notifications](https://github.com/parthagashe27/100-days-of-python/blob/main/day-40(capstone_project)/notification_manager.py): `day-40(capstone_project)/notification_manager.py`
- [Movie scraper](https://github.com/parthagashe27/100-days-of-python/blob/main/day-45/movie_list_scraper.py): `day-45/movie_list_scraper.py`

### Desktop applications

- [Coffee machine](https://github.com/parthagashe27/100-days-of-python/blob/main/day-15/coffee_machine.py): `day-15/coffee_machine.py`
- [Snake game](https://github.com/parthagashe27/100-days-of-python/blob/main/day-21/snake_game.py): `day-21/snake_game.py`
- [Turtle race](https://github.com/parthagashe27/100-days-of-python/blob/main/day-19/turtle_race.py): `day-19/turtle_race.py`

### Other components

- **Site visitor**

## Connections

- Site visitor → Blog routes: uses routes (evidence: `day-71/main.py`)
- Blog routes → Blog forms: uses forms (evidence: `day-71/main.py`)
- Blog routes → Blog database: reads and writes (evidence: `day-71/main.py`)
- Quiz interface → Quiz engine: checks answers (evidence: `day-34/ui.py`)
- Remote blog reader → Post model: creates posts (evidence: `day-57/blog capstone/main.py`)
- Flight deals → Sheet manager
- Flight deals → Flight search
- Flight deals → Flight data
- Flight deals → Deal notifications
