Skip to content

[RELEASE] Merge dev_v2 into main — PrepEdge AI v2 monorepo refactor #113

Description

@CoderUzumaki

Summary

Merge dev_v2 into main to ship PrepEdge AI v2 — the monorepo refactor that replaces the legacy client/ + server/ layout with a workspaces-based architecture.

This release bundles five merged PRs on dev_v2:

PR Branch Scope
#90 chore/monorepo-setup npm workspaces root config
#91 feat/shared-schemas @prepedge/shared Zod schemas & constants
#92 refactor/api-v2 Backend migrated to apps/api
#93 refactor/web-v2 Frontend migrated to apps/web
#94 chore/ci-deploy CI pipeline, Dependabot, Render config

Motivation

  • Cleaner structureapps/api, apps/web, and packages/shared instead of flat server/ and client/ folders
  • Shared validation — API and web use the same Zod schemas from @prepedge/shared
  • Multi-provider AI — Groq → Gemini → Hugging Face fallback in the API layer
  • CI/CD — automated lint, test, and build on every PR; Render Blueprint for API deploy

Scope of changes

Monorepo (package.json, workspaces)

  • Root npm workspaces for apps/* and packages/*
  • Unified npm run dev, lint, test, build scripts

packages/shared

  • Zod schemas: auth, user, interview, report, contact
  • Shared constants exported via @prepedge/shared

apps/api

  • Express 5 server with layered architecture (config → models → services → controllers → routes)
  • Firebase auth middleware + owner checks
  • MongoDB models: User, Interview, Report, ResumeCache
  • Interview flow: resume PDF parsing, AI question generation, answer evaluation
  • Report generation, contact form, health endpoint
  • Multi-provider AI abstraction (Groq, Gemini, Hugging Face)
  • Vitest tests for health, JSON parsing, schema validation

apps/web

  • Vite + React 19 + Tailwind v4 + shadcn-style UI components
  • Firebase auth, protected routes, login/signup
  • Dashboard, create interview, live interview session (speech analysis)
  • Report page with PDF download
  • Marketing/static pages: Home, About, Contact, Practice, Resources, Privacy, Terms, Profile

CI / Deploy

  • GitHub Actions: API lint, web lint, web build, API tests
  • Dependabot for npm updates
  • render.yaml Blueprint for apps/api on Render
  • PR template for consistent descriptions

Breaking changes

  • Entry points move from client/ and server/ to apps/web and apps/api
  • Deploy configs must point to new paths (Render rootDir: apps/api, Vercel from apps/web)
  • Env vars unchanged in name but must be set on new deploy targets
  • Old client/ and server/ directories can be removed after merge (follow-up cleanup)

Pre-merge checklist

  • npm ci at repo root succeeds
  • npm run lint passes (API + web)
  • npm run test -w apps/api passes
  • npm run build -w apps/web succeeds
  • npm run dev — full stack runs locally
  • Firebase auth: sign up, log in, protected routes
  • Interview flow: create → live session → report → PDF download
  • Contact form works
  • Render deploy updated to apps/api via render.yaml
  • Vercel deploy updated to build from apps/web
  • Production env vars configured on Render and Vercel

Acceptance criteria

  1. dev_v2 is merged into main via PR (squash or merge commit — maintainer preference)
  2. CI passes on main after merge
  3. Production API and web deployments are live on new paths
  4. No regressions in core user flows (auth, interview, report)

Related

  • Release PR: dev_v2main (to be opened when checklist is complete)
  • Branches: chore/monorepo-setup, feat/shared-schemas, refactor/api-v2, refactor/web-v2, chore/ci-deploy
    @

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions