Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Job Aggregator Platform

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.

React TypeScript Vite FastAPI Python PostgreSQL Playwright Redis Celery


🌐 Live Demo

Frontend

https://job-aggregator-frontend-oh8y.onrender.com


πŸ“– Overview

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.


✨ Features

Intelligent Job Aggregation

  • Aggregate jobs from multiple online sources
  • Automated scraping using Playwright and Scrapy
  • Duplicate job detection
  • Scheduled scraping tasks
  • Job categorization

AI-Powered Matching

  • Intelligent job recommendation engine
  • Resume skill extraction
  • Job relevance scoring
  • Candidate-job matching
  • Personalized recommendations

Resume Management

  • Upload resumes
  • PDF and DOCX parsing
  • Skill extraction
  • Resume profile management

Job Search

  • Advanced search
  • Company filters
  • Location filters
  • Experience filters
  • Salary filtering
  • Job type filtering
  • Bookmark jobs

Dashboard

  • Job analytics
  • Saved jobs
  • Application tracking
  • Job statistics
  • Activity overview
  • Productivity insights

Authentication

  • Secure user registration
  • JWT authentication
  • Protected routes
  • Password hashing

Background Processing

  • Celery workers
  • Redis queue
  • Scheduled scraping
  • Background processing
  • Task retries

Monitoring

  • Prometheus metrics
  • Logging
  • Rate limiting
  • Error monitoring
  • Sentry integration

πŸ›  Technology Stack

Frontend

  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS
  • React Router
  • React Query
  • Zustand
  • React Hook Form
  • Zod
  • Axios
  • Recharts
  • Framer Motion

Backend

  • FastAPI
  • SQLAlchemy
  • PostgreSQL
  • Alembic
  • Redis
  • Celery
  • APScheduler
  • JWT Authentication
  • AsyncIO
  • HTTPX

AI & Data Processing

  • Scikit-learn
  • SpaCy
  • NLTK
  • Pandas
  • NumPy

Web Scraping

  • Playwright
  • Scrapy
  • BeautifulSoup
  • Requests
  • LXML
  • Parsel
  • Fake User Agent

πŸ— System Architecture

                        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

πŸ“‚ Project Structure

job-aggregator/

client/
β”‚
β”œβ”€β”€ src/
β”œβ”€β”€ components/
β”œβ”€β”€ pages/
β”œβ”€β”€ hooks/
β”œβ”€β”€ store/
β”œβ”€β”€ services/
└── types/

server/
β”‚
β”œβ”€β”€ app/
β”œβ”€β”€ api/
β”œβ”€β”€ models/
β”œβ”€β”€ schemas/
β”œβ”€β”€ services/
β”œβ”€β”€ scrapers/
β”œβ”€β”€ workers/
β”œβ”€β”€ scheduler/
└── main.py

πŸš€ Installation

Clone Repository

git clone https://github.com/ANUU6134/job-aggregator.git

cd job-aggregator

Frontend

cd client

npm install

npm run dev

Backend

Create a virtual environment.

python -m venv venv

Activate it.

Linux/macOS

source venv/bin/activate

Windows

venv\Scripts\activate

Install dependencies.

pip install -r requirements.txt

Run the API.

uvicorn main:app --reload

βš™ Environment Variables

DATABASE_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

πŸ“Š Core Modules

  • Dashboard
  • Authentication
  • Job Aggregation
  • Resume Manager
  • AI Matching
  • Job Search
  • Saved Jobs
  • Analytics
  • Administration

πŸ”’ Security

  • JWT Authentication
  • Password Hashing
  • Protected Endpoints
  • Rate Limiting
  • Input Validation
  • Secure Environment Variables
  • SQLAlchemy ORM
  • Argon2 Password Hashing

πŸ“ˆ Scalability

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

πŸš€ Deployment

Frontend

  • Render

Backend

  • FastAPI
  • PostgreSQL
  • Redis
  • Celery Workers

πŸ—Ί Roadmap

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

🀝 Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create a feature branch.
  3. Commit your changes.
  4. Submit a Pull Request.

πŸ“„ License

This project is licensed under the MIT License.


πŸ‘¨β€πŸ’» Author

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.

About

An AI-powered job aggregation platform built with React, TypeScript, FastAPI, PostgreSQL, and Playwright. Aggregates jobs from multiple sources, provides intelligent matching, resume management, analytics, automated scraping, and a modern responsive dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages