# kaisermdhashem/python-assignment-module-2 architecture

> Architecture diagram of the GitHub repository kaisermdhashem/python-assignment-module-2, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kaisermdhashem/python-assignment-module-2
- Repository: https://github.com/kaisermdhashem/python-assignment-module-2

## Overview

This repository contains two independent, command-line Python assignments: a student grade calculator and a simple shopping cart. Each reads user-provided values, applies its own calculations and conditional rules, then prints a formatted result. The scripts are monolithic, so the stages shown are logical sections within each file, not separate modules. The README documents their behavior; no shared runtime components or external services are shown.

Main entry points: [`student_grade_calculator.py`](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py) (Student inputs), [`shopping_cart.py`](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py) (Customer and products)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_grades["Grade calculator"]
  node_grade_input["Student inputs"]
  node_grade_math["Total and average"]
  node_grade_rules["Grade rules"]
  node_grade_output["Formatted result"]
end

subgraph group_cart["Shopping cart"]
  node_cart_input["Customer and products<br/>[shopping_cart.py]"]
  node_cart_subtotal["Subtotal<br/>[shopping_cart.py]"]
  node_cart_discount["Discount and total<br/>[shopping_cart.py]"]
  node_cart_output["Shopping summary<br/>[shopping_cart.py]"]
end

node_user(("User"))

node_user -->|"enters marks"| node_grade_input
node_grade_input -->|"calculates"| node_grade_math
node_grade_math -->|"classifies average"| node_grade_rules
node_grade_rules -->|"formats result"| node_grade_output
node_grade_output -->|"prints result"| node_user
node_user -->|"enters products"| node_cart_input
node_cart_input -->|"sums prices"| node_cart_subtotal
node_cart_subtotal -->|"applies discount"| node_cart_discount
node_cart_discount -->|"formats summary"| node_cart_output
node_cart_output -->|"prints summary"| node_user

click node_grade_input "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py"
click node_grade_math "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py"
click node_grade_rules "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py"
click node_grade_output "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py"
click node_cart_input "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py"
click node_cart_subtotal "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py"
click node_cart_discount "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py"
click node_cart_output "https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.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_grade_input,node_grade_math,node_grade_rules,node_grade_output,node_user toneBlue
class node_cart_input,node_cart_subtotal,node_cart_discount,node_cart_output toneAmber
```

## Components

### Grade calculator

- [Student inputs](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py): `student_grade_calculator.py`
- [Total and average](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py): `student_grade_calculator.py`
- [Grade rules](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py): `student_grade_calculator.py`
- [Formatted result](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/student_grade_calculator.py): `student_grade_calculator.py`

### Shopping cart

- [Customer and products](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py): `shopping_cart.py`
- [Subtotal](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py): `shopping_cart.py`
- [Discount and total](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py): `shopping_cart.py`
- [Shopping summary](https://github.com/kaisermdhashem/python-assignment-module-2/blob/main/shopping_cart.py): `shopping_cart.py`

### Other components

- **User**

## Connections

- User → Student inputs: enters marks (evidence: `student_grade_calculator.py`)
- Student inputs → Total and average: calculates (evidence: `student_grade_calculator.py`)
- Total and average → Grade rules: classifies average (evidence: `student_grade_calculator.py`)
- Grade rules → Formatted result: formats result (evidence: `student_grade_calculator.py`)
- Formatted result → User: prints result (evidence: `student_grade_calculator.py`)
- User → Customer and products: enters products (evidence: `shopping_cart.py`)
- Customer and products → Subtotal: sums prices (evidence: `shopping_cart.py`)
- Subtotal → Discount and total: applies discount (evidence: `shopping_cart.py`)
- Discount and total → Shopping summary: formats summary (evidence: `shopping_cart.py`)
- Shopping summary → User: prints summary (evidence: `shopping_cart.py`)
