Hirrd is a modern job portal application that connects job seekers with employers. The platform enables companies to post job listings and candidates to search and apply for positions that match their skills and interests.
- User Authentication - Secure login/signup via Clerk
- Dual User Roles - Separate interfaces for candidates and recruiters
- Job Listings - Browse, search, and filter available positions
- Job Applications - Apply with resume upload and track application status
- Job Management - Post jobs, review applications, and update hiring status
- Company Management - Add new companies with logos
- Saved Jobs - Save interesting positions for later review
- Frontend Framework: React with Vite
- Styling: Tailwind CSS with shadcn/ui components
- Authentication: Clerk
- Database and Storage: Supabase
- Routing: React Router v6
- Form Handling: React Hook Form with Zod validation
- Markdown Support: MD Editor for rich text content
- Node.js (v16+)
- npm or yarn
- Supabase account
- Clerk account
Create a .env file in the root directory with the following:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Clone the repository
git clone https://github.com/username/hirrd-job-portal.git cd hirrd-job-portal -
Install dependencies
npm install # or yarn -
Start the development server
npm run dev # or yarn dev -
Open your browser and navigate to
http://localhost:5173
The application uses the following main tables in Supabase:
- users - User profiles and authentication
- jobs - Job listings with details
- applications - Job applications submitted by candidates
- companies - Company information and logos
- saved_jobs - Jobs saved by users for later reference
/src
/api - API functions to interact with Supabase
/components - Reusable UI components
/ui - shadcn/ui components
/data - Static data files
/hooks - Custom React hooks
/lib - Utility functions
/pages - Main application pages
/utils - Helper utilities
main.jsx - Application entry point
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
