An AI-powered full-stack job aggregation platform that collects opportunities from multiple job sources, intelligently matches candidates with relevant positions, and streamlines the job search process through automation, analytics, and resume management.
Frontend
https://job-aggregator-frontend-oh8y.onrender.com
Job Aggregator Platform is a modern recruitment solution designed to simplify job searching by automatically collecting listings from multiple job boards, organizing opportunities in a unified dashboard, and providing intelligent matching based on user skills and experience.
The platform combines scalable web scraping, asynchronous task processing, AI-assisted job recommendations, resume management, and interactive analytics to deliver a seamless job search experience.
- Aggregate jobs from multiple online sources
- Automated scraping using Playwright and Scrapy
- Duplicate job detection
- Scheduled scraping tasks
- Job categorization
- Intelligent job recommendation engine
- Resume skill extraction
- Job relevance scoring
- Candidate-job matching
- Personalized recommendations
- Upload resumes
- PDF and DOCX parsing
- Skill extraction
- Resume profile management
- Advanced search
- Company filters
- Location filters
- Experience filters
- Salary filtering
- Job type filtering
- Bookmark jobs
- Job analytics
- Saved jobs
- Application tracking
- Job statistics
- Activity overview
- Productivity insights
- Secure user registration
- JWT authentication
- Protected routes
- Password hashing
- Celery workers
- Redis queue
- Scheduled scraping
- Background processing
- Task retries
- Prometheus metrics
- Logging
- Rate limiting
- Error monitoring
- Sentry integration
- React 19
- TypeScript
- Vite
- Tailwind CSS
- React Router
- React Query
- Zustand
- React Hook Form
- Zod
- Axios
- Recharts
- Framer Motion
- FastAPI
- SQLAlchemy
- PostgreSQL
- Alembic
- Redis
- Celery
- APScheduler
- JWT Authentication
- AsyncIO
- HTTPX
- Scikit-learn
- SpaCy
- NLTK
- Pandas
- NumPy
- Playwright
- Scrapy
- BeautifulSoup
- Requests
- LXML
- Parsel
- Fake User Agent
React + TypeScript
β
React Query
β
FastAPI API
β
ββββββββββββββββββββββΌβββββββββββββββββββββ
β β β
Authentication Job Services Resume Services
β β β
βββββββββββββββ SQLAlchemy ORM ββββββββββββ
β
PostgreSQL Database
β
ββββββββββββββββββββββΌβββββββββββββββββββββ
β β β
Celery Workers Redis Queue Scheduler
β
Playwright / Scrapy Bots
β
External Job Board Sources
job-aggregator/
client/
β
βββ src/
βββ components/
βββ pages/
βββ hooks/
βββ store/
βββ services/
βββ types/
server/
β
βββ app/
βββ api/
βββ models/
βββ schemas/
βββ services/
βββ scrapers/
βββ workers/
βββ scheduler/
βββ main.py
git clone https://github.com/ANUU6134/job-aggregator.git
cd job-aggregatorcd client
npm install
npm run devCreate a virtual environment.
python -m venv venvActivate it.
Linux/macOS
source venv/bin/activateWindows
venv\Scripts\activateInstall dependencies.
pip install -r requirements.txtRun the API.
uvicorn main:app --reloadDATABASE_URL=postgresql://username:password@localhost/database
SECRET_KEY=your_secret_key
REDIS_URL=redis://localhost:6379
OPENAI_API_KEY=your_api_key
CLIENT_URL=http://localhost:5173- Dashboard
- Authentication
- Job Aggregation
- Resume Manager
- AI Matching
- Job Search
- Saved Jobs
- Analytics
- Administration
- JWT Authentication
- Password Hashing
- Protected Endpoints
- Rate Limiting
- Input Validation
- Secure Environment Variables
- SQLAlchemy ORM
- Argon2 Password Hashing
The platform is designed with scalability in mind by incorporating:
- Background task processing
- Asynchronous APIs
- Database migrations
- Worker queues
- Scheduled scraping
- Monitoring and metrics
- Modular architecture
Frontend
- Render
Backend
- FastAPI
- PostgreSQL
- Redis
- Celery Workers
Future enhancements include:
- AI-powered resume generation
- Cover letter generation
- One-click job applications
- Email notifications
- Company insights
- Interview preparation tools
- Chrome browser extension
- Mobile application
- Employer portal
- Multi-language support
Contributions are welcome.
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Submit a Pull Request.
This project is licensed under the MIT License.
Mohammed Hussen
Full Stack Developer β’ Python Developer β’ Automation Engineer
GitHub: https://github.com/ANUU6134
β If you found this project useful, please consider giving it a star.