# sharath-goud/e-mil-tracking-system architecture

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

- Interactive diagram: https://gitdiagram.com/sharath-goud/e-mil-tracking-system
- Repository: https://github.com/sharath-goud/e-mil-tracking-system

## Overview

E-MIL is an employee-facing audit checklist and issue-tracking application. Users authenticate, create checklist records, and manage remediation details such as RCCA, after-images, status, and approvals; dashboard and report endpoints expose tracking data. A separate reminder service handles due-date notifications, with email delivery and a background email queue available as supporting capabilities. The excerpts show service/repository boundaries and SQL access; several controller actions and notification details are only identified by the source index, so those links are limited to documented references.

Main entry points: [`E-MIL Tracking system/Services/ChecklistService.cs`](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/ChecklistService.cs) (Checklist service), [`E-MIL Tracking system/Controllers/ChecklistController.cs`](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/ChecklistController.cs) (Checklist actions), [`E-MIL Tracking system/Services/DueDateReminderService.cs`](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/DueDateReminderService.cs) (Due reminders), [`E-MIL Tracking system/Controllers/AuthController.cs`](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/AuthController.cs) (Authentication)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_identity["Identity"]
  node_auth_controller["Authentication<br/>[AuthController.cs]"]
  node_auth_service["Auth service<br/>[AuthService.cs]"]
  node_auth_repository["Auth repository<br/>[AuthRepository.cs]"]
  node_user_model["User account<br/>[User.cs]"]
end

subgraph group_checklists["Checklist workflow"]
  node_checklist_controller["Checklist actions"]
  node_checklist_service["Checklist service"]
  node_checklist_repository["Checklist repository"]
  node_checklist_contracts["Checklist contracts"]
  node_audit_hours["Audit hours<br/>[AuditHourDto.cs]"]
  node_sql_store[("SQL database<br/>[DbContext.cs]")]
end

subgraph group_tracking["Tracking views"]
  node_dashboard["Dashboard"]
  node_reports["Reports"]
end

subgraph group_notifications["Notifications"]
  node_reminder_service["Due reminders"]
  node_email_service["Email service<br/>[EmailService.cs]"]
  node_email_queue["Email queue"]
  node_email_worker["Email worker"]
end

node_employee(("Employee"))
node_smtp(("SMTP server"))

node_employee -->|"signs in"| node_auth_controller
node_auth_controller -->|"authenticates"| node_auth_service
node_auth_service -->|"delegates to"| node_auth_repository
node_auth_repository -->|"queries"| node_sql_store
node_employee -.->|"submits and manages"| node_checklist_controller
node_checklist_controller -->|"delegates to"| node_checklist_service
node_checklist_service -->|"calls"| node_checklist_repository
node_checklist_repository -->|"reads and writes"| node_sql_store
node_checklist_service -->|"uses"| node_checklist_contracts
node_checklist_service -->|"returns data"| node_audit_hours
node_dashboard -->|"requests data"| node_checklist_service
node_reports -->|"requests data"| node_checklist_service
node_reminder_service -->|"checks records"| node_checklist_service
node_reminder_service -->|"sends reminders"| node_email_service
node_checklist_controller -->|"queues email"| node_email_queue
node_email_worker -->|"dequeues"| node_email_queue
node_email_service -.->|"sends mail"| node_smtp

click node_auth_controller "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/AuthController.cs"
click node_auth_service "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/AuthService.cs"
click node_auth_repository "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Repositories/AuthRepository.cs"
click node_user_model "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Models/User.cs"
click node_checklist_controller "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/ChecklistController.cs"
click node_checklist_service "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/ChecklistService.cs"
click node_checklist_repository "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Repositories/ChecklistRepository.cs"
click node_checklist_contracts "https://github.com/sharath-goud/e-mil-tracking-system/tree/main/E-MIL%20Tracking%20system/DTOs/Checklist"
click node_audit_hours "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/DTOs/AuditHourDto.cs"
click node_sql_store "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Data/DbContext.cs"
click node_dashboard "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/DashboardController.cs"
click node_reports "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/ReportController.cs"
click node_reminder_service "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/DueDateReminderService.cs"
click node_email_service "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/EmailService.cs"
click node_email_queue "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/BackgroundEmailQueue.cs"
click node_email_worker "https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/BackgroundEmailService.cs"

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_controller,node_auth_service,node_auth_repository,node_user_model toneBlue
class node_checklist_controller,node_checklist_service,node_checklist_repository,node_checklist_contracts,node_audit_hours,node_sql_store toneAmber
class node_dashboard,node_reports,node_smtp toneMint
class node_reminder_service,node_email_service,node_email_queue,node_email_worker toneRose
class node_employee toneIndigo
```

## Components

### Identity

- [Authentication](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/AuthController.cs): `E-MIL Tracking system/Controllers/AuthController.cs`
- [Auth service](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/AuthService.cs): `E-MIL Tracking system/Services/AuthService.cs`
- [Auth repository](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Repositories/AuthRepository.cs): `E-MIL Tracking system/Repositories/AuthRepository.cs`
- [User account](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Models/User.cs): `E-MIL Tracking system/Models/User.cs`

### Checklist workflow

- [Checklist actions](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/ChecklistController.cs): `E-MIL Tracking system/Controllers/ChecklistController.cs`
- [Checklist service](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/ChecklistService.cs): `E-MIL Tracking system/Services/ChecklistService.cs`
- [Checklist repository](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Repositories/ChecklistRepository.cs): `E-MIL Tracking system/Repositories/ChecklistRepository.cs`
- [Checklist contracts](https://github.com/sharath-goud/e-mil-tracking-system/tree/main/E-MIL%20Tracking%20system/DTOs/Checklist): `E-MIL Tracking system/DTOs/Checklist`
- [Audit hours](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/DTOs/AuditHourDto.cs): `E-MIL Tracking system/DTOs/AuditHourDto.cs`
- [SQL database](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Data/DbContext.cs): `E-MIL Tracking system/Data/DbContext.cs`

### Tracking views

- [Dashboard](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/DashboardController.cs): `E-MIL Tracking system/Controllers/DashboardController.cs`
- [Reports](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Controllers/ReportController.cs): `E-MIL Tracking system/Controllers/ReportController.cs`

### Notifications

- [Due reminders](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/DueDateReminderService.cs): `E-MIL Tracking system/Services/DueDateReminderService.cs`
- [Email service](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/EmailService.cs): `E-MIL Tracking system/Services/EmailService.cs`
- [Email queue](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/BackgroundEmailQueue.cs): `E-MIL Tracking system/Services/BackgroundEmailQueue.cs`
- [Email worker](https://github.com/sharath-goud/e-mil-tracking-system/blob/main/E-MIL%20Tracking%20system/Services/BackgroundEmailService.cs): `E-MIL Tracking system/Services/BackgroundEmailService.cs`

### Other components

- **Employee**
- **SMTP server**

## Connections

- Employee → Authentication: signs in (evidence: `E-MIL Tracking system/Controllers/AuthController.cs`)
- Authentication → Auth service: authenticates (evidence: `E-MIL Tracking system/Controllers/AuthController.cs`)
- Auth service → Auth repository: delegates to (evidence: `E-MIL Tracking system/Services/AuthService.cs`)
- Auth repository → SQL database: queries (evidence: `E-MIL Tracking system/Repositories/AuthRepository.cs`)
- Employee → Checklist actions: submits and manages
- Checklist actions → Checklist service: delegates to (evidence: `E-MIL Tracking system/Controllers/ChecklistController.cs`)
- Checklist service → Checklist repository: calls (evidence: `E-MIL Tracking system/Services/ChecklistService.cs`)
- Checklist repository → SQL database: reads and writes (evidence: `E-MIL Tracking system/Repositories/ChecklistRepository.cs`)
- Checklist service → Checklist contracts: uses (evidence: `E-MIL Tracking system/Services/ChecklistService.cs`)
- Checklist service → Audit hours: returns data (evidence: `E-MIL Tracking system/Services/ChecklistService.cs`)
- Dashboard → Checklist service: requests data (evidence: `E-MIL Tracking system/Controllers/DashboardController.cs`)
- Reports → Checklist service: requests data (evidence: `E-MIL Tracking system/Controllers/ReportController.cs`)
- Due reminders → Checklist service: checks records (evidence: `E-MIL Tracking system/Services/DueDateReminderService.cs`)
- Due reminders → Email service: sends reminders (evidence: `E-MIL Tracking system/Services/DueDateReminderService.cs`)
- Checklist actions → Email queue: queues email (evidence: `E-MIL Tracking system/Controllers/ChecklistController.cs`)
- Email worker → Email queue: dequeues (evidence: `E-MIL Tracking system/Services/BackgroundEmailService.cs`)
- Email service → SMTP server: sends mail
