# uzairasimhasan/project-x architecture

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

- Interactive diagram: https://gitdiagram.com/uzairasimhasan/project-x
- Repository: https://github.com/uzairasimhasan/project-x

## Overview

This is a small interactive C login program. It repeatedly prompts for an email, checks it against an embedded value, then reads a masked password and checks that against another embedded value; success exits the loop. The runtime is contained in login.c. The source uses console I/O, including getch(), and does not show a separate authentication service or persistent store.

Main entry points: [`login.c`](https://github.com/uzairasimhasan/project-x/blob/main/login.c) (Login loop)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("User"))
node_login["Login loop<br/>[login.c]"]
node_email_check["Email check<br/>[login.c]"]
node_password_check["Password check<br/>[login.c]"]
node_credentials["Embedded credentials<br/>[login.c]"]
node_console["Console I/O"]

node_user -->|"starts"| node_login
node_login -->|"prompts"| node_console
node_console -->|"reads input"| node_login
node_login -->|"checks email"| node_email_check
node_email_check -->|"compares with"| node_credentials
node_login -->|"checks password"| node_password_check
node_password_check -->|"compares with"| node_credentials
node_login -->|"displays result"| node_console

click node_login "https://github.com/uzairasimhasan/project-x/blob/main/login.c"
click node_email_check "https://github.com/uzairasimhasan/project-x/blob/main/login.c"
click node_password_check "https://github.com/uzairasimhasan/project-x/blob/main/login.c"
click node_credentials "https://github.com/uzairasimhasan/project-x/blob/main/login.c"

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_user toneBlue
class node_login,node_email_check,node_password_check,node_credentials toneTeal
class node_console toneIndigo
```

## Components

### Other components

- **User**
- [Login loop](https://github.com/uzairasimhasan/project-x/blob/main/login.c): `login.c`
- [Email check](https://github.com/uzairasimhasan/project-x/blob/main/login.c): `login.c`
- [Password check](https://github.com/uzairasimhasan/project-x/blob/main/login.c): `login.c`
- [Embedded credentials](https://github.com/uzairasimhasan/project-x/blob/main/login.c): `login.c`
- **Console I/O**

## Connections

- User → Login loop: starts
- Login loop → Console I/O: prompts
- Console I/O → Login loop: reads input
- Login loop → Email check: checks email
- Email check → Embedded credentials: compares with
- Login loop → Password check: checks password
- Password check → Embedded credentials: compares with
- Login loop → Console I/O: displays result
