- Python 3.8+
- Node.js 16+
- npm or yarn
-
Clone the repository
git clone https://github.com/MDSAMIULSAMI/JobHunter.git cd FastAPI -
Set up Python environment
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Environment configuration Create a
.envfile in the backend directory:RESUME_ANALYZER_API_URL=your_resume_analyzer_api_url
-
Run the backend server
python main.py
The API will be available at
http://localhost:8000
-
Navigate to frontend directory
cd frontend -
Install dependencies
npm install
-
Set up environment variables Create a
.env.localfile:VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
-
Run the development server
npm run dev
The frontend will be available at
http://localhost:5173
POST /jobs/searchSearch for jobs across multiple platforms.
Request Body:
{
"search_keyword": "Software Engineer",
"location": "New York, NY",
"results_wanted": 50,
"sites": ["linkedin", "indeed", "glassdoor"]
}GET /jobs/available-sitesReturns list of supported job sites.
POST /resume/uploadUpload and analyze a PDF resume.
POST /resume/custom-builderGenerate a custom resume based on requirements.
POST /resume/job-customizationCustomize resume for a specific job posting.
- FastAPI: Modern, fast web framework for building APIs
- Python: Core programming language
- Pandas: Data manipulation and analysis
- BeautifulSoup: Web scraping
- ReportLab: PDF generation
- Pydantic: Data validation
- Uvicorn: ASGI server
- React 19: Modern UI library
- Vite: Fast build tool
- Tailwind CSS: Utility-first CSS framework
- React Router: Client-side routing
- Clerk: Authentication and user management
- LinkedIn: Professional networking platform
- Indeed: Global job search engine
- Glassdoor: Company reviews and job listings
- BDJobs: Bangladesh-focused job portal
- Global: LinkedIn, Indeed, Glassdoor
- Bangladesh: BDJobs (specialized for local market)
- Location-aware: Automatically selects appropriate job sites based on search location
- CORS: Configured for cross-origin requests
- Logging: Structured logging with different levels
- Error Handling: Comprehensive exception handling
- Rate Limiting: Built-in delays for respectful scraping
- Authentication: Clerk integration for secure user management
- Routing: Protected routes for authenticated users
- Responsive Design: Mobile-first approach with Tailwind CSS
- Concurrent Scraping: Multi-threaded job scraping for faster results
- Caching: Optimized data processing and caching
- Error Recovery: Robust error handling and retry mechanisms
- Pagination: Efficient handling of large result sets
- Fork the repository
- Create a 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 - see the LICENSE file for details.
For support, please open an issue in the GitHub repository or contact the development team.
- Additional job board integrations
- Advanced AI resume optimization
- Job application tracking
- Salary insights and analytics
- Mobile application
- Email notifications for new jobs
- Interview preparation tools
Built with ❤️ for job seekers everywhere