# hamidou-ctr/join architecture

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

- Interactive diagram: https://gitdiagram.com/hamidou-ctr/join
- Repository: https://github.com/hamidou-ctr/join

## Overview

This is a browser-based task-management application: users sign in, create and assign tasks, organize them on a status board, manage contacts, and review task summaries. The map separates authentication, task entry, board operations, contact management, and shared interface support. Backend interactions are shown where excerpts expose API calls; unsampled page wiring and the server implementation are not inferred.

Main entry points: [`js/addTask.js`](https://github.com/hamidou-ctr/join/blob/main/js/addTask.js) (Task creation), [`js/board.js`](https://github.com/hamidou-ctr/join/blob/main/js/board.js) (Task board), [`js/login.js`](https://github.com/hamidou-ctr/join/blob/main/js/login.js) (Login and signup), [`js/tasksDragNDrop.js`](https://github.com/hamidou-ctr/join/blob/main/js/tasksDragNDrop.js) (Status movement)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_auth["Authentication"]
  node_auth_ui["Login and signup<br/>[login.js]"]
  node_signup["Signup behavior<br/>[sign-up.js]"]
  node_access["Session and access<br/>[loginRequired.js]"]
end

subgraph group_tasks["Task Management"]
  node_task_entry["Task creation<br/>[addTask.js]"]
  node_task_form["Task form template<br/>[boardAddTask.js]"]
  node_assignment["Assignee selection<br/>[assign.js]"]
end

subgraph group_board["Board Workflow"]
  node_board_view["Task board<br/>[board.js]"]
  node_task_actions["Task editing<br/>[taskActions.js]"]
  node_task_drag["Status movement<br/>[tasksDragNDrop.js]"]
  node_board_templates["Board rendering<br/>[board.js]"]
end

subgraph group_people["People"]
  node_contacts["Contact management<br/>[contacts.js]"]
  node_contact_templates["Contact views<br/>[contacts.js]"]
end

subgraph group_shared["Shared Interface"]
  node_summary["Task summary<br/>[summary.js]"]
  node_add_popup["Board add-task popup"]
  node_config["API configuration<br/>[config.js]"]
end

node_user(("User"))
node_backend{{"Application backend"}}

node_user -->|"signs in"| node_auth_ui
node_auth_ui -->|"authenticates"| node_backend
node_user -->|"creates task"| node_task_entry
node_task_entry -->|"submits task"| node_backend
node_task_entry -.->|"selects assignees"| node_assignment
node_user -->|"views tasks"| node_board_view
node_board_view -.->|"opens task"| node_task_actions
node_board_view -->|"loads tasks"| node_backend
node_user -->|"moves task"| node_task_drag
node_task_drag -->|"updates status"| node_backend
node_user -->|"manages contacts"| node_contacts
node_contacts -->|"requests contact data"| node_backend
node_user -.->|"reviews overview"| node_summary
node_summary -->|"requests task data"| node_backend

click node_auth_ui "https://github.com/hamidou-ctr/join/blob/main/js/login.js"
click node_signup "https://github.com/hamidou-ctr/join/blob/main/js/sign-up.js"
click node_access "https://github.com/hamidou-ctr/join/blob/main/js/loginRequired.js"
click node_task_entry "https://github.com/hamidou-ctr/join/blob/main/js/addTask.js"
click node_task_form "https://github.com/hamidou-ctr/join/blob/main/js/templates/boardAddTask.js"
click node_assignment "https://github.com/hamidou-ctr/join/blob/main/js/assign.js"
click node_board_view "https://github.com/hamidou-ctr/join/blob/main/js/board.js"
click node_task_actions "https://github.com/hamidou-ctr/join/blob/main/js/taskActions.js"
click node_task_drag "https://github.com/hamidou-ctr/join/blob/main/js/tasksDragNDrop.js"
click node_board_templates "https://github.com/hamidou-ctr/join/blob/main/js/templates/board.js"
click node_contacts "https://github.com/hamidou-ctr/join/blob/main/js/contacts.js"
click node_contact_templates "https://github.com/hamidou-ctr/join/blob/main/js/templates/contacts.js"
click node_summary "https://github.com/hamidou-ctr/join/blob/main/js/summary.js"
click node_add_popup "https://github.com/hamidou-ctr/join/blob/main/js/popup-bord-add-task.js"
click node_config "https://github.com/hamidou-ctr/join/blob/main/js/config.js"

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_auth_ui,node_signup,node_access,node_user toneBlue
class node_task_entry,node_task_form,node_assignment toneAmber
class node_board_view,node_task_actions,node_task_drag,node_board_templates toneMint
class node_contacts,node_contact_templates toneRose
class node_summary,node_add_popup,node_config,node_backend toneIndigo
```

## Components

### Authentication

- [Login and signup](https://github.com/hamidou-ctr/join/blob/main/js/login.js): `js/login.js`
- [Signup behavior](https://github.com/hamidou-ctr/join/blob/main/js/sign-up.js): `js/sign-up.js`
- [Session and access](https://github.com/hamidou-ctr/join/blob/main/js/loginRequired.js): `js/loginRequired.js`

### Task Management

- [Task creation](https://github.com/hamidou-ctr/join/blob/main/js/addTask.js): `js/addTask.js`
- [Task form template](https://github.com/hamidou-ctr/join/blob/main/js/templates/boardAddTask.js): `js/templates/boardAddTask.js`
- [Assignee selection](https://github.com/hamidou-ctr/join/blob/main/js/assign.js): `js/assign.js`

### Board Workflow

- [Task board](https://github.com/hamidou-ctr/join/blob/main/js/board.js): `js/board.js`
- [Task editing](https://github.com/hamidou-ctr/join/blob/main/js/taskActions.js): `js/taskActions.js`
- [Status movement](https://github.com/hamidou-ctr/join/blob/main/js/tasksDragNDrop.js): `js/tasksDragNDrop.js`
- [Board rendering](https://github.com/hamidou-ctr/join/blob/main/js/templates/board.js): `js/templates/board.js`

### People

- [Contact management](https://github.com/hamidou-ctr/join/blob/main/js/contacts.js): `js/contacts.js`
- [Contact views](https://github.com/hamidou-ctr/join/blob/main/js/templates/contacts.js): `js/templates/contacts.js`

### Shared Interface

- [Task summary](https://github.com/hamidou-ctr/join/blob/main/js/summary.js): `js/summary.js`
- [Board add-task popup](https://github.com/hamidou-ctr/join/blob/main/js/popup-bord-add-task.js): `js/popup-bord-add-task.js`
- [API configuration](https://github.com/hamidou-ctr/join/blob/main/js/config.js): `js/config.js`

### Other components

- **User**
- **Application backend**

## Connections

- User → Login and signup: signs in (evidence: `js/login.js`)
- Login and signup → Application backend: authenticates (evidence: `js/login.js`)
- User → Task creation: creates task (evidence: `js/addTask.js`)
- Task creation → Application backend: submits task (evidence: `js/addTask.js`)
- Task creation → Assignee selection: selects assignees
- User → Task board: views tasks (evidence: `js/board.js`)
- Task board → Task editing: opens task
- Task board → Application backend: loads tasks
- User → Status movement: moves task (evidence: `js/tasksDragNDrop.js`)
- Status movement → Application backend: updates status (evidence: `js/tasksDragNDrop.js`)
- User → Contact management: manages contacts (evidence: `js/contacts.js`)
- Contact management → Application backend: requests contact data (evidence: `js/contacts.js`)
- User → Task summary: reviews overview
- Task summary → Application backend: requests task data (evidence: `js/summary.js`)
