Click to expand features
Feature | Description | Status |
---|---|---|
π Multi-API Integration | Aggregates job listings from Adzuna, Reed, Indeed, and more | β |
πΊοΈ Interactive Map | Visualize job locations using Google Maps | β |
π Advanced Filtering | Filter by job category, job type, and distance | β |
π¨ Modern UI | Sleek design with animations powered by Framer Motion | β |
π’ Company Info | View detailed company information and metadata | β |
π± Responsive Design | Works on desktop and mobile devices | β |
Technology | Version | Purpose |
---|---|---|
React | 18.0+ | UI Framework |
Framer Motion | Latest | Animations |
Google Maps API | Latest | Map Integration |
Styled Components | Latest | CSS-in-JS |
Technology | Version | Purpose |
---|---|---|
Python | 3.9+ | Backend Language |
Flask | 2.0+ | Web Framework |
aiohttp | Latest | Async HTTP Client |
SQLAlchemy | Latest | Database ORM |
System Requirements
- Node.js (v14+)
- Python (v3.9+)
- API keys for the services:
- Google Maps API key
- Adzuna API credentials
- Reed API key (optional)
- Indeed Publisher ID (optional)
git clone https://github.com/yourusername/CompanyHunter.git
cd CompanyHunter
cd server
pip install -r requirements.txt
# Create .env file with your API keys
touch .env
Backend Environment Variables
# Required
GOOGLE_MAPS_API_KEY=your_google_maps_api_key
ADZUNA_APP_ID=your_adzuna_app_id
ADZUNA_API_KEY=your_adzuna_api_key
# Optional
REED_API_KEY=your_reed_api_key
INDEED_PUBLISHER_ID=your_indeed_publisher_id
cd client
npm install
# Create .env file for frontend
touch .env
Frontend Environment Variables
REACT_APP_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
REACT_APP_API_URL=http://localhost:5000
cd server
python app.py
cd client
npm start
The application will be available at http://localhost:3000
User Guide
-
Search for Jobs π
- Enter a location (city, address, or postal code)
- Set a search radius using the slider
- Click "Search Jobs"
-
Filter Results βοΈ
- Use the Filter Options panel to filter by job category and job type
- Selected filters will be displayed as tags
-
View Job Details π
- Click on a job card to view detailed information
- Job location is displayed on the map
-
Save Favorites β
- Click the "Save" button on a job to save it to your favorites
CompanyHunter/
βββ client/ # React frontend
β βββ public/ # Static files
β βββ src/ # Source files
β βββ components/ # React components
β βββ App.js # Main application component
β
βββ server/ # Flask backend
βββ api_connectors/ # API connector modules
β βββ adzuna_connector.py
β βββ reed_connector.py
β βββ indeed_connector.py
β βββ google_jobs_connector.py
β βββ aggregator.py # Job aggregation logic
βββ app.py # Flask application
βββ requirements.txt # Python dependencies
Planned Features
- User authentication and saved job management
- Email notifications for new job matches
- Enhanced company profiles with reviews and ratings
- Salary insights and comparisons
- Application tracking system
- AI-powered job matching
- Resume builder and optimization
- Interview preparation tools
This project is licensed under the MIT License - see the LICENSE file for details.
Technology | Link |
---|---|
React | reactjs.org |
Flask | flask.palletsprojects.com |
Google Maps | developers.google.com/maps |
Adzuna API | developer.adzuna.com |
Reed API | reed.co.uk/developers |
Indeed API | developer.indeed.com |
Framer Motion | framer.com/motion/ |
Made with β€οΈ by Your Name