A modern job board application built with React, TypeScript, and Supabase, featuring real-time updates and powerful search capabilities.
- 🔍 Advanced Job Search - Filter by job type, experience level, and location
- 💼 Job Listings Management - Post, edit, and manage job listings with ease
- 👤 User Profiles - Complete profiles for both job seekers and employers
- 🔔 Real-time Updates - Instant notifications for new job postings and applications
- 💾 Saved Jobs - Bookmark interesting positions for later review
- 📱 Responsive Design - Perfect experience across all devices
- 🌙 Dark Mode - Easy on the eyes with automatic theme switching
- 🔒 Secure Authentication - Protected routes and data with Supabase Auth
Homepage with search functionality and featured jobs
Detailed job listings and easy application process
Powerful dashboards for employers and job seekers
- Node.js (v16 or higher)
- npm or yarn
- Supabase account for database and authentication
-
Clone the repository
git clone https://github.com/yourusername/jobhunt.git
-
Navigate to the project directory
cd jobhunt -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Add your Supabase credentials to the
.envfile -
Start the development server
npm run dev
- Profile Creation: Build comprehensive profiles highlighting skills and experience
- Job Search: Advanced filters for precise job matching
- Application Tracking: Monitor application status in real-time
- Job Alerts: Customizable notifications for relevant positions
- Resume Upload: Support for multiple resume formats
- Job Posting: Easy-to-use interface for creating detailed job listings
- Candidate Management: Review and manage applications efficiently
- Company Profiles: Showcase your company culture and benefits
- Analytics Dashboard: Track listing performance and applicant metrics
- Applicant Communication: Built-in messaging system
- React Components: Modular design for reusability and maintenance
- TypeScript: Strong typing for enhanced development experience
- Tailwind CSS: Utility-first styling for consistent design
- React Query: Efficient data fetching and caching
- React Hook Form: Form validation and handling
- Supabase Authentication: Secure user management
- Supabase Database: Real-time data synchronization
- Storage: Efficient handling of resumes and company logos
- Row Level Security: Granular access control
- Full-text Search: Powerful job listing search capability
Table jobs {
id uuid [pk]
title text
company_id uuid [ref: > companies.id]
description text
requirements text[]
salary_range jsonb
location text
job_type text
experience_level text
created_at timestamptz
}
Table companies {
id uuid [pk]
name text
description text
logo_url text
website text
created_at timestamptz
}
Table applications {
id uuid [pk]
job_id uuid [ref: > jobs.id]
user_id uuid
status text
resume_url text
created_at timestamptz
}VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key- Create a new Supabase project
- Enable authentication providers
- Set up database tables and RLS policies
- Configure storage buckets for resumes and logos
The application is fully responsive and optimized for:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (320px - 767px)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by Your Name