How enmanuel1/career-tracker-api works
This is a NestJS career-tracking API: users authenticate, then manage job applications and related activity, documents, contacts, and preparation materials. Controllers accept API requests and delegate to domain services; services implement domain operations, with Prisma providing persistence. The tree supports these major capabilities, but sampled source is limited, so links between unsampled services and external integrations are omitted.
Main entry points: main.ts HTTP bootstrap · prisma.service.ts Prisma persistence · applications.service.ts Job applications · application-events.service.ts Application events
Components 20
API and identity
- HTTP bootstrap
src/main.ts - Authentication
src/modules/auth/auth.service.ts - User profile
src/modules/users/users.service.ts
Application tracking
- Job applications
src/modules/applications/applications.service.ts - Application events
src/modules/applications/events/application-events.service.ts - Application contacts
src/modules/application-contacts/application-contacts.service.ts - Application documents
src/modules/application-documents/application-documents.service.ts - Contact directory
src/modules/contacts/contacts.service.ts - Networking outreach
src/modules/outreach/outreach.service.ts - Career dashboard
src/modules/dashboard/dashboard.service.ts
Career preparation
- Resume versions
src/modules/resumes/resumes.service.ts - File uploads
src/modules/uploads/uploads.service.ts - Preparation tasks
src/modules/prep/prep-tasks.service.ts - Prep resources
src/modules/prep/prep-resources.service.ts - Reminders
src/modules/reminders/reminders.service.ts - STAR stories
src/modules/star-stories/star-stories.service.ts - Message templates
src/modules/templates/templates.service.ts
Shared platform
- Prisma persistence
src/core/database/prisma.service.ts - Health endpoint
src/modules/health/health.controller.ts
Other components
- API user
Connections 35
- API user → HTTP bootstrap: sends requests
- HTTP bootstrap → Authentication: routes auth
- HTTP bootstrap → Job applications: routes requests
- HTTP bootstrap → User profile: routes requests
- HTTP bootstrap → Application events: routes requests
- HTTP bootstrap → Application contacts: routes requests
- HTTP bootstrap → Application documents: routes requests
- HTTP bootstrap → Contact directory: routes requests
- HTTP bootstrap → Networking outreach: routes requests
- HTTP bootstrap → Career dashboard: routes requests
- HTTP bootstrap → Resume versions: routes requests
- HTTP bootstrap → File uploads: routes requests
- HTTP bootstrap → Preparation tasks: routes requests
- HTTP bootstrap → Prep resources: routes requests
- HTTP bootstrap → Reminders: routes requests
- HTTP bootstrap → STAR stories: routes requests
- HTTP bootstrap → Message templates: routes requests
- HTTP bootstrap → Health endpoint: routes requests
- Authentication → Prisma persistence: reads and writes
- Job applications → Prisma persistence: reads and writes
- User profile → Prisma persistence: reads and writes
- Application events → Prisma persistence: reads and writes
- Application contacts → Prisma persistence: reads and writes
- Application documents → Prisma persistence: reads and writes
- Contact directory → Prisma persistence: reads and writes
- Networking outreach → Prisma persistence: reads and writes
- Career dashboard → Prisma persistence: reads data
- Resume versions → Prisma persistence: reads and writes
- File uploads → Prisma persistence: persists metadata
- Preparation tasks → Prisma persistence: reads and writes
- Prep resources → Prisma persistence: reads and writes
- Reminders → Prisma persistence: reads and writes
- STAR stories → Prisma persistence: reads and writes
- Message templates → Prisma persistence: reads and writes
- Job applications → Application events: creates applied event