# gabydidi/chibicharm-project architecture

> Architecture diagram of the GitHub repository gabydidi/chibicharm-project, 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/gabydidi/chibicharm-project
- Repository: https://github.com/gabydidi/chibicharm-project

## Overview

A small Flask authentication app: users register, log in, access a session-protected welcome page, and log out. Registration validates input and hashes passwords before saving accounts; login checks stored hashes. The tree also includes a forgot-password template, but no recovery route is present in the sampled app.py. Its signup route requests sign.html, while the tree contains Sign.html, so that render may not resolve on a case-sensitive filesystem.

Main entry points: [`app.py`](https://github.com/gabydidi/chibicharm-project/blob/master/app.py) (Flask routes), [`templates/Login.html`](https://github.com/gabydidi/chibicharm-project/blob/master/templates/Login.html) (Login form), [`templates/Sign.html`](https://github.com/gabydidi/chibicharm-project/blob/master/templates/Sign.html) (Signup form)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web flows"]
  node_app["Flask routes<br/>[app.py]"]
  node_login["Login form<br/>[Login.html]"]
  node_signup["Signup form<br/>[Sign.html]"]
  node_recovery["Forgot form<br/>[Forgot.html]"]
end

subgraph group_identity["Identity and session"]
  node_bcrypt["Password hashing<br/>[app.py]"]
  node_session["Login session<br/>[app.py]"]
end

subgraph group_storage["Account storage"]
  node_db[("SQLite users<br/>[app.py]")]
end

node_user(("User"))

node_user -->|"requests routes"| node_app
node_app -->|"renders login"| node_login
node_app -->|"renders signup"| node_signup
node_app -->|"reads and writes"| node_db
node_app -->|"hashes and verifies"| node_bcrypt
node_app -->|"reads and updates"| node_session

click node_app "https://github.com/gabydidi/chibicharm-project/blob/master/app.py"
click node_login "https://github.com/gabydidi/chibicharm-project/blob/master/templates/Login.html"
click node_signup "https://github.com/gabydidi/chibicharm-project/blob/master/templates/Sign.html"
click node_recovery "https://github.com/gabydidi/chibicharm-project/blob/master/templates/Forgot.html"
click node_bcrypt "https://github.com/gabydidi/chibicharm-project/blob/master/app.py"
click node_session "https://github.com/gabydidi/chibicharm-project/blob/master/app.py"
click node_db "https://github.com/gabydidi/chibicharm-project/blob/master/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_app,node_login,node_signup,node_recovery,node_user toneBlue
class node_bcrypt,node_session toneAmber
class node_db toneMint
```

## Components

### Web flows

- [Flask routes](https://github.com/gabydidi/chibicharm-project/blob/master/app.py): `app.py`
- [Login form](https://github.com/gabydidi/chibicharm-project/blob/master/templates/Login.html): `templates/Login.html`
- [Signup form](https://github.com/gabydidi/chibicharm-project/blob/master/templates/Sign.html): `templates/Sign.html`
- [Forgot form](https://github.com/gabydidi/chibicharm-project/blob/master/templates/Forgot.html): `templates/Forgot.html`

### Identity and session

- [Password hashing](https://github.com/gabydidi/chibicharm-project/blob/master/app.py): `app.py`
- [Login session](https://github.com/gabydidi/chibicharm-project/blob/master/app.py): `app.py`

### Account storage

- [SQLite users](https://github.com/gabydidi/chibicharm-project/blob/master/app.py): `app.py`

### Other components

- **User**

## Connections

- User → Flask routes: requests routes
- Flask routes → Login form: renders login
- Flask routes → Signup form: renders signup
- Flask routes → SQLite users: reads and writes
- Flask routes → Password hashing: hashes and verifies
- Flask routes → Login session: reads and updates
