# enmanuel1/career-tracker-front architecture

> Architecture diagram of the GitHub repository enmanuel1/career-tracker-front, 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/enmanuel1/career-tracker-front
- Repository: https://github.com/enmanuel1/career-tracker-front

## Overview

This is a career-tracking web frontend: users organize job applications and access dashboard summaries, resumes, contacts, reminders, interview preparation, and STAR stories. The visible application data flow includes listing and creating applications through an API client; authentication also reads a persisted session from browser storage. The README is a generic Next.js starter and does not describe product behavior. Several feature paths are represented in the tree, but their internal wiring was not sampled, so uncertain calls are omitted.

Main entry points: [`src/features/applications/components/create-application-form.tsx`](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/components/create-application-form.tsx) (Application form), [`src/app/(app)/applications/new/page.tsx`](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/applications/new/page.tsx) (Create application), [`src/features/applications/api/applications.api.ts`](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/api/applications.api.ts) (Application API), [`src/features/auth/utils/auth-storage.ts`](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/auth/utils/auth-storage.ts) (Auth storage)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["App experience"]
  node_shell["App shell<br/>[app-shell.tsx]"]
  node_dashboard["Dashboard<br/>[page.tsx]"]
end

subgraph group_jobs["Application tracking"]
  node_applications_page["Applications page<br/>[page.tsx]"]
  node_application_detail["Application detail<br/>[page.tsx]"]
  node_application_create["Create application<br/>[page.tsx]"]
  node_application_form["Application form"]
  node_application_review["Application review"]
  node_application_schema["Application validation"]
  node_application_api["Application API"]
end

subgraph group_career["Career workspace"]
  node_resumes["Resumes<br/>[page.tsx]"]
  node_contacts["Contacts<br/>[page.tsx]"]
  node_reminders["Reminders<br/>[page.tsx]"]
  node_prep["Interview prep<br/>[page.tsx]"]
  node_star_stories["STAR stories<br/>[page.tsx]"]
end

subgraph group_identity["Identity and data"]
  node_login["Login<br/>[page.tsx]"]
  node_auth_storage["Auth storage<br/>[auth-storage.ts]"]
end

node_user(("Career tracker user"))
node_browser_storage[("Browser local storage")]
node_backend{{"Application backend"}}

node_user -->|"uses"| node_shell
node_user -->|"signs in"| node_login
node_user -->|"views"| node_dashboard
node_user -->|"manages"| node_applications_page
node_user -->|"manages"| node_resumes
node_user -->|"manages"| node_contacts
node_user -->|"manages"| node_reminders
node_user -->|"prepares"| node_prep
node_user -->|"records"| node_star_stories
node_application_create -->|"renders"| node_application_form
node_application_form -->|"validates"| node_application_schema
node_application_form -->|"reviews values"| node_application_review
node_application_api -->|"requests data"| node_backend
node_auth_storage -->|"reads session"| node_browser_storage

click node_shell "https://github.com/enmanuel1/career-tracker-front/blob/main/src/components/layout/app-shell.tsx"
click node_dashboard "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/dashboard/page.tsx"
click node_applications_page "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/applications/page.tsx"
click node_application_detail "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/applications/%5Bid%5D/page.tsx"
click node_application_create "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/applications/new/page.tsx"
click node_application_form "https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/components/create-application-form.tsx"
click node_application_review "https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/components/create-application-review.tsx"
click node_application_schema "https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/schemas/application.schema.ts"
click node_application_api "https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/api/applications.api.ts"
click node_resumes "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/resumes/page.tsx"
click node_contacts "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/contacts/page.tsx"
click node_reminders "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/reminders/page.tsx"
click node_prep "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/prep/page.tsx"
click node_star_stories "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/star-stories/page.tsx"
click node_login "https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(auth)/login/page.tsx"
click node_auth_storage "https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/auth/utils/auth-storage.ts"

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_shell,node_dashboard,node_user toneBlue
class node_applications_page,node_application_detail,node_application_create,node_application_form,node_application_review,node_application_schema,node_application_api,node_browser_storage toneAmber
class node_resumes,node_contacts,node_reminders,node_prep,node_star_stories toneMint
class node_login,node_auth_storage toneRose
class node_backend toneIndigo
```

## Components

### App experience

- [App shell](https://github.com/enmanuel1/career-tracker-front/blob/main/src/components/layout/app-shell.tsx): `src/components/layout/app-shell.tsx`
- [Dashboard](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/dashboard/page.tsx): `src/app/(app)/dashboard/page.tsx`

### Application tracking

- [Applications page](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/applications/page.tsx): `src/app/(app)/applications/page.tsx`
- [Application detail](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/applications/%5Bid%5D/page.tsx): `src/app/(app)/applications/[id]/page.tsx`
- [Create application](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/applications/new/page.tsx): `src/app/(app)/applications/new/page.tsx`
- [Application form](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/components/create-application-form.tsx): `src/features/applications/components/create-application-form.tsx`
- [Application review](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/components/create-application-review.tsx): `src/features/applications/components/create-application-review.tsx`
- [Application validation](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/schemas/application.schema.ts): `src/features/applications/schemas/application.schema.ts`
- [Application API](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/applications/api/applications.api.ts): `src/features/applications/api/applications.api.ts`

### Career workspace

- [Resumes](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/resumes/page.tsx): `src/app/(app)/resumes/page.tsx`
- [Contacts](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/contacts/page.tsx): `src/app/(app)/contacts/page.tsx`
- [Reminders](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/reminders/page.tsx): `src/app/(app)/reminders/page.tsx`
- [Interview prep](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/prep/page.tsx): `src/app/(app)/prep/page.tsx`
- [STAR stories](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(app)/star-stories/page.tsx): `src/app/(app)/star-stories/page.tsx`

### Identity and data

- [Login](https://github.com/enmanuel1/career-tracker-front/blob/main/src/app/(auth)/login/page.tsx): `src/app/(auth)/login/page.tsx`
- [Auth storage](https://github.com/enmanuel1/career-tracker-front/blob/main/src/features/auth/utils/auth-storage.ts): `src/features/auth/utils/auth-storage.ts`

### Other components

- **Career tracker user**
- **Browser local storage**
- **Application backend**

## Connections

- Career tracker user → App shell: uses
- Career tracker user → Login: signs in
- Career tracker user → Dashboard: views
- Career tracker user → Applications page: manages
- Career tracker user → Resumes: manages
- Career tracker user → Contacts: manages
- Career tracker user → Reminders: manages
- Career tracker user → Interview prep: prepares
- Career tracker user → STAR stories: records
- Create application → Application form: renders
- Application form → Application validation: validates
- Application form → Application review: reviews values
- Application API → Application backend: requests data
- Auth storage → Browser local storage: reads session
