How disomimba/resumatch-backup works
ResuMatch is a role-based recruiting and candidate-profile product. Users sign up or sign in, then enter candidate or recruiter dashboards; candidates can manage profiles and upload resumes. The backend parses uploaded resume files with Gemini, creates embeddings, and stores extracted data for candidate profiles. Authentication and profile operations use Supabase, with an optional OTP email hook. Dashboard and filter behavior is represented at the page/component level because those sources were not sampled; the available excerpts do not establish how resume upload triggers parsing or how recruiter search uses candidate data.
Main entry points: App.jsx Route application · Login.jsx Sign-in and recovery · server.js API and resume parser · CandidateDashboard.jsx Candidate dashboard
Components 16
Web experience
- Route application
src/App.jsx - Sign-up
src/presentation/pages/Signup.jsx - Sign-in and recovery
src/presentation/pages/Login.jsx - Candidate dashboard
src/presentation/pages/CandidateDashboard.jsx - Recruiter dashboard
src/presentation/pages/RecruiterDashboard.jsx - Profile editor
src/presentation/components/ProfileModal.jsx - Filter modal
src/presentation/components/FIlterModal.jsx
Identity and profiles
- Auth service
src/data/services/authService.js - Browser client
supabaseClient.js - OTP email hook
supabase/functions/send-emailjs-otp/index.ts
Resume processing
- API and resume parser
server.js
External services
- Supabase
- Resume storage
- Gemini AI
- EmailJS
Other components
- Candidate or recruiter
Connections 20
- Candidate or recruiter → Route application: opens
- Route application → Sign-up: routes to
- Route application → Sign-in and recovery: routes to
- Route application → Candidate dashboard: routes to
- Route application → Recruiter dashboard: routes to
- Sign-up → Auth service: registers or redirects
- Sign-in and recovery → Auth service: authenticates and recovers
- Auth service → Browser client: uses
- Browser client → Supabase: calls
- Sign-in and recovery → Candidate dashboard: role navigation
- Sign-in and recovery → Recruiter dashboard: role navigation
- Candidate dashboard → Profile editor: opens profile
- Recruiter dashboard → Filter modal: uses
- Profile editor → Browser client: uploads resume
- API and resume parser → Supabase: signs in and updates profile
- API and resume parser → Resume storage: downloads resume
- API and resume parser → Gemini AI: extracts and embeds
- Supabase → Resume storage: provides storage
- Supabase → OTP email hook: dispatches OTP hook
- OTP email hook → EmailJS: sends OTP email