JOB-HUNT

Livejob-hunt-u3re

HUNTING JOBS.

NextjsAPIs
JOB-HUNT
<div align="center"> # ๐ŸŽฏ Job Scout

A sleek, standalone Next.js job search app โ€” find, track, and apply to jobs faster.

Live Demo Next.js TypeScript Vercel

๐Ÿ”— Live Demo ยท ๐Ÿ› Report a Bug ยท โœจ Request a Feature

</div> ---

๐Ÿ“– About

Job Scout is a standalone job-search dashboard built with Next.js. It queries the Adzuna jobs API through its own server-side route, keeping your API credentials safely on the backend and never exposed to the browser. It works independently โ€” no dependency on any external automation workflows.

Beyond search, Job Scout ships with a personal dashboard that connects to your Google Drive as a resume vault, so you can manage, favourite, and track jobs alongside your resumes in one place.

โœจ Features

  • ๐Ÿ” Job Search โ€” Search live listings via the Adzuna API, defaulting to India-based results
  • โšก Fast Apply โ€” Jump straight to the original job listing in a new tab
  • ๐Ÿ“‚ Resume Vault โ€” Connect Google Drive and upload PDF/DOC/DOCX resumes
  • โญ Favourites & Seen Jobs โ€” Track what you've viewed and saved, stored locally in your browser
  • ๐Ÿ”’ Secure by Design โ€” API keys and credentials live server-side only, never shipped to the client
  • โ˜๏ธ Zero Database โ€” No backend database required; state lives in the browser and Google Drive
  • ๐Ÿš€ One-Click Deploy โ€” Ready to ship to Vercel as a standalone project

๐Ÿ› ๏ธ Tech Stack

LayerTechnology
FrameworkNext.js
LanguageTypeScript
Job DataAdzuna API
StorageGoogle Drive (resumes) + Browser storage (favourites/seen jobs)
AuthGoogle OAuth 2.0
HostingVercel

๐Ÿš€ Getting Started

1. Clone & Install

git clone https://github.com/DHAMI-HARSH/job_hunt.git
cd job_hunt
npm install

2. Configure Environment Variables

Create jobs-listing/.env.local from .env.example and add your Adzuna credentials:

ADZUNA_APP_ID=your_app_id
ADZUNA_APP_KEY=your_app_key
ADZUNA_COUNTRY=in
ADZUNA_LOCATION=India

๐Ÿ” These credentials are only read server-side by app/api/jobs/route.ts and are never exposed to the browser.

3. (Optional) Enable the Resume Vault

To use the dashboard's Google Drive resume vault, set up Google OAuth credentials and register this redirect URI in your Google Cloud OAuth settings:

http://localhost:3000/api/drive/callback

Then visit /dashboard, connect Google Drive, and upload a resume (PDF, DOC, or DOCX). The dashboard will list matching files from Drive with an Open link.

4. Run Locally

npm run dev

Visit http://localhost:3000 ๐ŸŽ‰

  • Search keywords are sent to Adzuna via /api/jobs, defaulting to India as the location
  • Fast Apply opens the original listing in a new tab
  • Use /dashboard for your Drive resume vault, favourites, and seen jobs

โ˜๏ธ Deploy to Vercel

This folder deploys as its own Vercel project.

  1. In Vercel, set the project's Root Directory to jobs-listing if importing the parent repository
  2. Add the following environment variables in your Vercel project settings:
ADZUNA_APP_ID
ADZUNA_APP_KEY
ADZUNA_COUNTRY=in
ADZUNA_LOCATION=India
GOOGLE_OAUTH_CLIENT_ID
GOOGLE_OAUTH_CLIENT_SECRET
GOOGLE_DRIVE_FOLDER_ID   # optional
  1. After deployment, add your production callback URL to Google Cloud OAuth:
https://YOUR-VERCEL-DOMAIN/api/drive/callback

โš ๏ธ Never commit .env, .env.local, or any API keys to the repository.

๐Ÿ—๏ธ Architecture Notes

  • No database โ€” favourites, seen jobs, and the saved job cache live entirely in the user's browser
  • Resume storage โ€” resume files live in Google Drive, not on the app's servers
  • Server-isolated secrets โ€” all third-party API credentials are read only in server-side routes

๐Ÿ“„ License

This project is open source and available for personal and educational use.


<div align="center"> Built by [**Harsh Dhami**](https://github.com/DHAMI-HARSH)

LinkedIn ยท GitHub

</div>