# shashankpandey04/flowora architecture

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

- Interactive diagram: https://gitdiagram.com/shashankpandey04/flowora
- Repository: https://github.com/shashankpandey04/flowora

## Overview

This Django platform lets university applicants submit configurable applications, checks eligibility, routes requests through configurable role-based reviews, supports change requests and resubmission, and records an auditable history. Administrators define application fields, eligibility rules, and approval policy; reviewers act on requests and applicants track status. The graph distinguishes request handling from workflow generation and its model layer. Connections reflect the README and shown excerpts; some view internals are only partially sampled, so uncertain wiring is omitted.

Main entry points: [`workflows/views.py`](https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py) (Request Submission & Review), [`workflows/models.py`](https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py) (Workflow Requests), [`db.sqlite3`](https://github.com/shashankpandey04/flowora/blob/main/db.sqlite3) (Application Database), [`accounts/views.py`](https://github.com/shashankpandey04/flowora/blob/main/accounts/views.py) (Authentication & Roles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_identity["Identity &amp; Roles"]
  node_account_auth["Authentication &amp; Roles<br/>[views.py]"]
  node_account_data[("Users &amp; Organization<br/>[models.py]")]
  node_dashboards["Role Dashboards<br/>[views.py]"]
end

subgraph group_configuration["Application Configuration"]
  node_application_setup["Application Setup<br/>[views.py]"]
  node_dynamic_fields["Dynamic Application Fields<br/>[models.py]"]
  node_eligibility["Eligibility Rules<br/>[views.py]"]
  node_approval_policy["Approval Policy<br/>[models.py]"]
end

subgraph group_processing["Workflow Processing"]
  node_workflow_generation["Workflow Generation<br/>[services.py]"]
  node_review_stages["Review Stages &amp; Transitions<br/>[models.py]"]
  node_request_handling["Request Submission &amp; Review<br/>[views.py]"]
  node_request_resubmission["Change Resubmission<br/>[views.py]"]
end

subgraph group_records["Request Records"]
  node_request_records[("Workflow Requests<br/>[models.py]")]
  node_action_history[("Workflow Action History<br/>[models.py]")]
  node_request_files[("Request Files<br/>[models.py]")]
  node_sqlite_store[("Application Database<br/>[db.sqlite3]")]
end

node_applicant(("Applicant"))
node_reviewer(("Reviewer"))
node_administrator(("Administrator"))

node_applicant -->|"logs in"| node_account_auth
node_account_auth -->|"authenticates"| node_account_data
node_account_auth -->|"routes by role"| node_dashboards
node_applicant -->|"submits request"| node_request_handling
node_reviewer -->|"reviews request"| node_request_handling
node_administrator -->|"configures applications"| node_application_setup
node_application_setup -->|"defines fields"| node_dynamic_fields
node_application_setup -->|"configures rules"| node_eligibility
node_application_setup -->|"configures policy"| node_approval_policy
node_approval_policy -->|"drives generation"| node_workflow_generation
node_workflow_generation -->|"creates stages"| node_review_stages
node_request_handling -->|"checks eligibility"| node_eligibility
node_request_handling -->|"renders form fields"| node_dynamic_fields
node_request_handling -->|"submits request"| node_request_records
node_request_handling -->|"executes transition"| node_review_stages
node_request_handling -->|"records action"| node_action_history
node_request_handling -->|"stores uploads"| node_request_files
node_applicant -->|"resubmits changes"| node_request_resubmission
node_request_resubmission -->|"updates request"| node_request_records
node_request_resubmission -->|"records resubmission"| node_action_history
node_dashboards -->|"lists student requests"| node_request_records
node_account_data -.->|"persists account data"| node_sqlite_store
node_request_records -.->|"persists requests"| node_sqlite_store
node_action_history -.->|"persists actions"| node_sqlite_store
node_request_files -.->|"stores file metadata"| node_sqlite_store

click node_account_auth "https://github.com/shashankpandey04/flowora/blob/main/accounts/views.py"
click node_account_data "https://github.com/shashankpandey04/flowora/blob/main/accounts/models.py"
click node_dashboards "https://github.com/shashankpandey04/flowora/blob/main/accounts/views.py"
click node_application_setup "https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py"
click node_dynamic_fields "https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py"
click node_eligibility "https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py"
click node_approval_policy "https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py"
click node_workflow_generation "https://github.com/shashankpandey04/flowora/blob/main/workflows/services.py"
click node_review_stages "https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py"
click node_request_handling "https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py"
click node_request_resubmission "https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py"
click node_request_records "https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py"
click node_action_history "https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py"
click node_request_files "https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py"
click node_sqlite_store "https://github.com/shashankpandey04/flowora/blob/main/db.sqlite3"

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_account_auth,node_account_data,node_dashboards,node_reviewer toneBlue
class node_application_setup,node_dynamic_fields,node_eligibility,node_approval_policy toneAmber
class node_workflow_generation,node_review_stages,node_request_handling,node_request_resubmission toneMint
class node_request_records,node_action_history,node_request_files,node_sqlite_store toneRose
class node_applicant,node_administrator toneIndigo
```

## Components

### Identity & Roles

- [Authentication & Roles](https://github.com/shashankpandey04/flowora/blob/main/accounts/views.py): `accounts/views.py`
- [Users & Organization](https://github.com/shashankpandey04/flowora/blob/main/accounts/models.py): `accounts/models.py`
- [Role Dashboards](https://github.com/shashankpandey04/flowora/blob/main/accounts/views.py): `accounts/views.py`

### Application Configuration

- [Application Setup](https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py): `workflows/views.py`
- [Dynamic Application Fields](https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py): `workflows/models.py`
- [Eligibility Rules](https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py): `workflows/views.py`
- [Approval Policy](https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py): `workflows/models.py`

### Workflow Processing

- [Workflow Generation](https://github.com/shashankpandey04/flowora/blob/main/workflows/services.py): `workflows/services.py`
- [Review Stages & Transitions](https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py): `workflows/models.py`
- [Request Submission & Review](https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py): `workflows/views.py`
- [Change Resubmission](https://github.com/shashankpandey04/flowora/blob/main/workflows/views.py): `workflows/views.py`

### Request Records

- [Workflow Requests](https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py): `workflows/models.py`
- [Workflow Action History](https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py): `workflows/models.py`
- [Request Files](https://github.com/shashankpandey04/flowora/blob/main/workflows/models.py): `workflows/models.py`
- [Application Database](https://github.com/shashankpandey04/flowora/blob/main/db.sqlite3): `db.sqlite3`

### Other components

- **Applicant**
- **Reviewer**
- **Administrator**

## Connections

- Applicant → Authentication & Roles: logs in (evidence: `README.md`)
- Authentication & Roles → Users & Organization: authenticates (evidence: `accounts/views.py`)
- Authentication & Roles → Role Dashboards: routes by role (evidence: `accounts/views.py`)
- Applicant → Request Submission & Review: submits request (evidence: `README.md`)
- Reviewer → Request Submission & Review: reviews request (evidence: `README.md`)
- Administrator → Application Setup: configures applications (evidence: `README.md`)
- Application Setup → Dynamic Application Fields: defines fields (evidence: `README.md`)
- Application Setup → Eligibility Rules: configures rules (evidence: `workflows/urls.py`)
- Application Setup → Approval Policy: configures policy (evidence: `workflows/views.py`)
- Approval Policy → Workflow Generation: drives generation (evidence: `workflows/services.py`)
- Workflow Generation → Review Stages & Transitions: creates stages (evidence: `workflows/services.py`)
- Request Submission & Review → Eligibility Rules: checks eligibility (evidence: `README.md`)
- Request Submission & Review → Dynamic Application Fields: renders form fields (evidence: `README.md`)
- Request Submission & Review → Workflow Requests: submits request (evidence: `README.md`)
- Request Submission & Review → Review Stages & Transitions: executes transition (evidence: `workflows/views.py`)
- Request Submission & Review → Workflow Action History: records action (evidence: `README.md`)
- Request Submission & Review → Request Files: stores uploads (evidence: `README.md`)
- Applicant → Change Resubmission: resubmits changes (evidence: `README.md`)
- Change Resubmission → Workflow Requests: updates request (evidence: `workflows/views.py`)
- Change Resubmission → Workflow Action History: records resubmission (evidence: `README.md`)
- Role Dashboards → Workflow Requests: lists student requests (evidence: `accounts/views.py`)
- Users & Organization → Application Database: persists account data
- Workflow Requests → Application Database: persists requests
- Workflow Action History → Application Database: persists actions
- Request Files → Application Database: stores file metadata
