Frontend client for HireDesk, built with React + Vite.
Live Demo: https://hiredesk.duckdns.org
Note: This repository is frontend-only for hackathon review. Backend and ML services are private.
- Recruiter and candidate flows
- Jobs, dashboards, resume upload UI
- Interview room UI and scheduling UI
- Payment UI and coupon redemption UI
- Resume Analyzer UI (AI output rendering)
- React 19
- Vite 7
- Tailwind CSS
- Framer Motion
- Axios
- Firebase Auth (Google flow + UI integration)
- Node.js 18+ (recommended 20+)
- npm 9+
- Clone:
git clone https://github.com/darshankerkar/Dev_Season_of_code.git
cd Dev_Season_of_code- Install:
npm install- Create
.env.local:
cp .env.example .env.local- Run:
npm run dev- Open:
http://localhost:5173
Use .env.local in development.
Required:
VITE_API_URL(backend base URL, example:https://hiredesk.duckdns.org)
Optional:
VITE_GEMINI_API_KEY(if client-side Gemini calls are enabled)
Reference file: .env.example
npm run dev- start local dev servernpm run build- production buildnpm run build:do- DigitalOcean mode buildnpm run preview- preview production build locallynpm run lint- run ESLint
Frontend expects REST endpoints under:
/api/auth/*/api/recruitment/*
If backend is private/offline, many pages will still render but data actions will fail.
- Set
VITE_API_URLto your deployed backend URL. - Build with
npm run build. - Serve
dist/via your hosting provider.
For this project, production frontend is hosted behind Nginx at:
https://hiredesk.duckdns.org
- Fork the repository.
- Create a branch from
main:
git checkout -b feat/short-description- Keep PRs focused (one feature/fix per PR).
- Run before commit:
npm run lint
npm run build- Commit using clear messages:
feat: add interview join validationfix: handle jwt-only session in navbar
- Open a PR with:
- problem statement
- changes made
- screenshots (if UI change)
- testing steps
- Never commit
.envfiles or secrets. - Do not expose backend private keys in frontend code.
- Treat all client-side keys as potentially public.