A React app to track job applications and HR contacts: add entries with HR name, company, email, phone, job ID, and email content. Update status, mark as done, edit, or remove entries. Uses Supabase for auth (Google) and per-user data.
- Copy
.env.exampleto.envand setREACT_APP_SUPABASE_URLandREACT_APP_SUPABASE_ANON_KEY. - In Supabase: run
supabase/schema.sqlandsupabase/rls.sqlin the SQL Editor. Enable the Google provider under Authentication > Providers. - Google OAuth (fix redirect_uri_mismatch):
- In Supabase Dashboard go to Authentication > Providers > Google. Copy the Callback URL (e.g.
https://xxxx.supabase.co/auth/v1/callback). - In Google Cloud Console go to APIs & Services > Credentials, open your OAuth 2.0 Client ID (or create one for “Web application”).
- Under Authorized redirect URIs add the exact Supabase callback URL from step 1.
- Under Authorized JavaScript origins add
http://localhost:3000(and your production URL when you deploy). - Save. Wait a few minutes if the error persists.
- In Supabase Dashboard go to Authentication > Providers > Google. Copy the Callback URL (e.g.
- Run the app:
npm install
npm startOpen http://localhost:3000.
- Add email – HR name, company, email, phone, job ID (from a list you manage), email content, status
- Edit – Update any field of an existing entry
- Status – Change status from the dropdown on each card (Sent, Replied, Interview Scheduled, etc.)
- Check mark – Mark entries as done
- Delete – Remove an entry (with confirmation)
- Job IDs – Manage a list of job IDs in “Manage Job IDs”; select one when adding/editing an email
- Persistence – Data is saved in localStorage (no backend)
npm run buildBuild output is in the build folder.