Skip to content

Latest commit

 

History

History
33 lines (28 loc) · 1.72 KB

File metadata and controls

33 lines (28 loc) · 1.72 KB

Feature Map

Here's a quick guide to where the code for the main features actually lives.

1. Login & Signup

  • React Pages: LoginPage.tsx, RegisterPage.tsx, ForgotPasswordPage.tsx, ResetPasswordPage.tsx
  • React State: authStore.ts
  • Express Routes: /api/auth/*
  • Express Logic: auth.controller.js (Handles things like registerUser, loginUser, and verifyEmail)
  • Database: User.model.js

2. Managing Your Master Profile

  • React Pages: DashboardPage.tsx, OnboardingPage.tsx
  • React Components: ProfileManager.tsx, WorkExperienceSection.tsx, EducationSection.tsx, SkillsSection.tsx, etc.
  • React State: profileStore.ts
  • Express Routes: /api/profile/*
  • Express Logic: profile.controller.js (Handles creating, updating, and fetching the profile)
  • Database: Profile.model.js
  • Validation: @resume-engine/shared/src/profile.schema.ts (This is the Zod file both sides use)

3. Tailoring Resumes (The Engine)

  • React Pages: TailorPage.tsx
  • React Components: ResumeTailor.tsx, TailoredResumeView.tsx, TailorHistory.tsx
  • Express Routes: /api/tailor/*
  • Express Logic: tailor.controller.js (Handles checking for duplicates and saving history)
  • Backend Services: tailor.service.js, ai.service.js (This is where the Groq AI magic happens)
  • Database: TailoredResume.model.js

4. Making PDFs

  • React Components: Baked into TailoredResumeView.tsx (it uses a Blob and an iframe to show the PDF)
  • Express Routes: /api/resume/generate, /api/resume/preview-html
  • Express Logic: resume.controller.js
  • Backend Services: pdf.service.js, browser.js (This is the Puppeteer setup that creates the PDFs)