How haddjs/verity works
Work Tracker lets a person track job applications and manage CVs, either with Google-backed sync after sign-in or browser-local guest storage. The main workflow is to enter and update applications, review their status, and upload, preview, download, or delete CVs. The README documents Sheets for applications and Drive for CV files; sampled API routes show authentication and dispatch to Google data modules. The main tracker wiring and Google storage implementations were not sampled, so those internal links are limited to documented relationships.
Main entry points: TrackerApp.tsx Tracker app · client.ts API client · auth.ts Auth.js · jobs.ts Job data access
Components 24
Tracker UI
- Tracker home
src/app/page.tsx - Tracker app
src/components/tracker/TrackerApp.tsx - Job form
src/components/jobs/JobForm.tsx - Job list
src/components/jobs/JobList.tsx - Job stats
src/components/jobs/StatsBar.tsx - CV manager
src/components/cvs/CvManager.tsx - CV preview
src/components/cvs/CvPreview.tsx
Application API
- Job routes
src/app/api/jobs/route.ts - Job item routes
src/app/api/jobs/[id]/route.ts - CV routes
src/app/api/cvs/route.ts - CV item routes
src/app/api/cvs/[id]/route.ts - API client
src/lib/api/client.ts
Storage and Google
- Browser storage
src/lib/storage.ts - Job data access
src/lib/google/jobs.ts - CV data access
src/lib/google/cvs.ts - Workspace setup
src/lib/google/workspace.ts - Google clients
src/lib/google/client.ts - Google Sheets
- Google Drive
Authentication
- Auth.js
src/auth.ts - Auth routes
src/app/api/auth/[...nextauth]/route.ts - Token access
src/lib/auth/session.ts
Other components
- Person
- Google OAuth
Connections 32
- Person → Tracker home: opens
- Tracker home → Tracker app: renders
- Job form → Tracker app: submits to
- Job list → Tracker app: displays
- Job stats → Tracker app: summarizes
- CV manager → Tracker app: manages
- Tracker app → API client: requests data
- Tracker app → Browser storage: guest reads/writes
- CV preview → API client: fetches CVs
- CV preview → Browser storage: reads guest CVs
- API client → Job routes: calls
- API client → Job item routes: calls
- API client → CV routes: calls
- API client → CV item routes: calls
- Job routes → Auth.js: checks session
- Job item routes → Auth.js: checks session
- CV routes → Auth.js: checks session
- CV item routes → Auth.js: checks session
- Job routes → Job data access: lists/creates
- Job item routes → Job data access: updates/deletes
- CV routes → CV data access: lists/uploads
- CV item routes → CV data access: downloads/deletes
- Job data access → Google clients: gets Sheets client
- CV data access → Google clients: gets Drive client
- Workspace setup → Google clients: uses Google clients
- Job data access → Google Sheets: stores applications
- CV data access → Google Drive: stores CV files
- Workspace setup → Google Sheets: creates workspace
- Workspace setup → Google Drive: creates folders
- Google clients → Token access: requires access token
- Auth routes → Auth.js: dispatches
- Auth.js → Google OAuth: signs in / refreshes