# vishnuajay2711/docket architecture

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

- Interactive diagram: https://gitdiagram.com/vishnuajay2711/docket
- Repository: https://github.com/vishnuajay2711/docket

## Overview

Docket is a Flask task manager. Users register or log in, then view their personal tasks, search and filter them, and add, edit, delete, or toggle completion; task records include priority, category, and due date, which supports overdue presentation. Routes enforce ownership and use SQLAlchemy models for persistence, while Jinja templates render the interface. The README also documents responsive styling and combined filters. The source excerpts show route and model behavior; template internals were not sampled, so presentation links are limited to rendering.

Main entry points: [`app/auth.py`](https://github.com/vishnuajay2711/docket/blob/main/app/auth.py) (Auth routes), [`app/routes.py`](https://github.com/vishnuajay2711/docket/blob/main/app/routes.py) (Task routes), [`app/__init__.py`](https://github.com/vishnuajay2711/docket/blob/main/app/__init__.py) (App setup), [`styles`](https://github.com/vishnuajay2711/docket/tree/main/styles) (Page styling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_entry["Application entry<br/>[app.py]"]
  node_factory["App setup<br/>[__init__.py]"]
  node_database[("SQLite database")]
end

subgraph group_identity["Identity"]
  node_auth_routes["Auth routes<br/>[auth.py]"]
  node_user_model["User model<br/>[models.py]"]
  node_login_manager["Login manager"]
end

subgraph group_tasks["Task management"]
  node_task_routes["Task routes<br/>[routes.py]"]
  node_task_model["Task model<br/>[models.py]"]
end

subgraph group_ui["User interface"]
  node_home_template["Task list view<br/>[home.html]"]
  node_add_template["Add task view<br/>[add_tasks.html]"]
  node_edit_template["Edit task view<br/>[edit_tasks.html]"]
  node_login_template["Login view<br/>[login.html]"]
  node_register_template["Registration view<br/>[register.html]"]
  node_styles["Page styling"]
end

node_user(("User"))

node_user -->|"submits credentials"| node_auth_routes
node_auth_routes -->|"queries and creates"| node_user_model
node_auth_routes -->|"persists users"| node_database
node_auth_routes -->|"starts or ends session"| node_login_manager
node_auth_routes -->|"renders"| node_login_template
node_auth_routes -->|"renders"| node_register_template
node_auth_routes -->|"redirects after login"| node_task_routes
node_user -->|"manages tasks"| node_task_routes
node_task_routes -->|"queries and updates"| node_task_model
node_task_routes -->|"reads and commits"| node_database
node_task_routes -->|"renders filtered tasks"| node_home_template
node_task_routes -->|"renders add form"| node_add_template
node_task_routes -->|"renders edit form"| node_edit_template
node_entry -->|"starts app"| node_factory
node_factory -->|"registers blueprint"| node_auth_routes
node_factory -->|"registers blueprint"| node_task_routes
node_factory -->|"initializes schema"| node_database
node_factory -->|"initializes"| node_login_manager
node_login_manager -->|"loads user"| node_user_model
node_home_template -->|"uses styling"| node_styles
node_add_template -->|"uses styling"| node_styles
node_edit_template -->|"uses styling"| node_styles

click node_entry "https://github.com/vishnuajay2711/docket/blob/main/app.py"
click node_factory "https://github.com/vishnuajay2711/docket/blob/main/app/__init__.py"
click node_auth_routes "https://github.com/vishnuajay2711/docket/blob/main/app/auth.py"
click node_user_model "https://github.com/vishnuajay2711/docket/blob/main/app/models.py"
click node_task_routes "https://github.com/vishnuajay2711/docket/blob/main/app/routes.py"
click node_task_model "https://github.com/vishnuajay2711/docket/blob/main/app/models.py"
click node_home_template "https://github.com/vishnuajay2711/docket/blob/main/templates/home.html"
click node_add_template "https://github.com/vishnuajay2711/docket/blob/main/templates/add_tasks.html"
click node_edit_template "https://github.com/vishnuajay2711/docket/blob/main/templates/edit_tasks.html"
click node_login_template "https://github.com/vishnuajay2711/docket/blob/main/templates/login.html"
click node_register_template "https://github.com/vishnuajay2711/docket/blob/main/templates/register.html"
click node_styles "https://github.com/vishnuajay2711/docket/tree/main/styles"

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_entry,node_factory,node_database,node_user toneBlue
class node_auth_routes,node_user_model,node_login_manager toneAmber
class node_task_routes,node_task_model toneMint
class node_home_template,node_add_template,node_edit_template,node_login_template,node_register_template,node_styles toneRose
```

## Components

### Web application

- [Application entry](https://github.com/vishnuajay2711/docket/blob/main/app.py): `app.py`
- [App setup](https://github.com/vishnuajay2711/docket/blob/main/app/__init__.py): `app/__init__.py`
- **SQLite database**

### Identity

- [Auth routes](https://github.com/vishnuajay2711/docket/blob/main/app/auth.py): `app/auth.py`
- [User model](https://github.com/vishnuajay2711/docket/blob/main/app/models.py): `app/models.py`
- **Login manager**

### Task management

- [Task routes](https://github.com/vishnuajay2711/docket/blob/main/app/routes.py): `app/routes.py`
- [Task model](https://github.com/vishnuajay2711/docket/blob/main/app/models.py): `app/models.py`

### User interface

- [Task list view](https://github.com/vishnuajay2711/docket/blob/main/templates/home.html): `templates/home.html`
- [Add task view](https://github.com/vishnuajay2711/docket/blob/main/templates/add_tasks.html): `templates/add_tasks.html`
- [Edit task view](https://github.com/vishnuajay2711/docket/blob/main/templates/edit_tasks.html): `templates/edit_tasks.html`
- [Login view](https://github.com/vishnuajay2711/docket/blob/main/templates/login.html): `templates/login.html`
- [Registration view](https://github.com/vishnuajay2711/docket/blob/main/templates/register.html): `templates/register.html`
- [Page styling](https://github.com/vishnuajay2711/docket/tree/main/styles): `styles`

### Other components

- **User**

## Connections

- User → Auth routes: submits credentials
- Auth routes → User model: queries and creates
- Auth routes → SQLite database: persists users
- Auth routes → Login manager: starts or ends session
- Auth routes → Login view: renders
- Auth routes → Registration view: renders
- Auth routes → Task routes: redirects after login
- User → Task routes: manages tasks
- Task routes → Task model: queries and updates
- Task routes → SQLite database: reads and commits
- Task routes → Task list view: renders filtered tasks
- Task routes → Add task view: renders add form
- Task routes → Edit task view: renders edit form
- Application entry → App setup: starts app
- App setup → Auth routes: registers blueprint
- App setup → Task routes: registers blueprint
- App setup → SQLite database: initializes schema
- App setup → Login manager: initializes
- Login manager → User model: loads user
- Task list view → Page styling: uses styling
- Add task view → Page styling: uses styling
- Edit task view → Page styling: uses styling
