OpportunityHub is an enterprise-grade platform that aggregates internships, graduate programmes, learnerships, bursaries, and entry-level jobs across South Africa. Built with React, Spring Boot, PostgreSQL, Playwright, and RabbitMQ, it delivers intelligent search, automated scraping, analytics, and scalable distributed architecture.
# OpportunityHub
> Enterprise-grade platform for discovering entry-level career opportunities across South Africa.
## Overview
OpportunityHub is a modern web platform that automatically aggregates internships, graduate programmes, learnerships, apprenticeships, bursaries, scholarships, vacation work, Work-Integrated Learning (WIL), and entry-level jobs from trusted company career pages, government portals, and university websites.
The platform centralizes opportunities into a single searchable application, helping students, graduates, and job seekers find relevant opportunities quickly while eliminating the need to browse hundreds of individual websites.
---
## Features
1. Automated opportunity aggregation from multiple trusted sources.
2. Intelligent duplicate detection using fingerprinting and fuzzy matching.
3. Advanced search, filtering, sorting, and pagination.
4. User authentication with JWT and role-based authorization.
5. Saved opportunities and personalized job alerts.
6. Company management and automatic company discovery.
7. Distributed Playwright scraping powered by RabbitMQ.
8. Dead-Letter Queue (DLQ) and scraper health monitoring.
9. Redirect gateway with click analytics.
10. Analytics dashboard for hiring trends.
11. POPIA-compliant data handling and security.
---
## Technology Stack
### Frontend
1. React
2. TypeScript
3. Vite
4. Tailwind CSS
5. TanStack Query
6. Zustand
### Backend
1. Java 21
2. Spring Boot
3. Spring Security
4. Spring Data JPA
5. JWT Authentication
6. Flyway
### Database
1. PostgreSQL
### Scraping
1. Playwright for Java
2. RabbitMQ
3. Jsoup
### Monitoring
1. Micrometer
2. Prometheus
3. Grafana
---
## Repository Structure
```text
OpportunityHub/
│
├── .ai/
├── docs/
├── backend/
├── frontend/
├── scraper-workers/
├── .github/
│
├── README.md
├── LICENSE
└── .gitignore
```
---
## Development Roadmap
### Phase 1
1. Project setup
2. Authentication
3. Database design
4. User management
### Phase 2
1. Opportunit …