8.9 KiB
VacatureRadar
Van vacature-overload naar een kleine, uitlegbare selectie die bij jou past.
VacatureRadar is een persoonlijke vacature-assistent voor België. De applicatie volgt toegestane werkgeversbronnen, ATS-pagina’s, feeds en vacaturemails, verwijdert dubbels en irrelevante resultaten en rangschikt de overblijvende kansen tegen jouw zoekprofiel. Jij behoudt altijd de controle: VacatureRadar helpt zoeken en opvolgen, maar solliciteert nooit automatisch.
Voor wie is dit?
VacatureRadar is bedoeld voor één persoon of een eigen, afgeschermde installatie die:
- meerdere vacaturebronnen wil volgen zonder iedere site dagelijks te openen;
- alleen aantoonbaar relevante vacatures wil beoordelen;
- wil begrijpen waarom een vacature wel of niet past;
- sollicitaties, deadlines en opvolging op één plek wil bewaren;
- lokale controle over profiel-, vacature- en brondata belangrijk vindt.
Zo gebruik je VacatureRadar
- Stel je radar in. Kies rollen, skills, regio, afstand, werkmodel en harde grenzen.
- Laat toegestane bronnen verwerken. De radar ontdekt, haalt op, normaliseert en dedupliceert vacatures volgens bronbeleid en SSRF-beveiliging.
- Beoordeel de beste signalen. Iedere match toont score, datakwaliteit, positieve signalen en aandachtspunten.
- Leer van de markt. De Skillsradar laat zien welke technologieën terugkomen en waar je profiel dekking heeft.
- Volg acties op. Bewaar interessante vacatures, beheer sollicitatiedossiers en houd gesprekken en deadlines bij.
- Controleer de werking. Het Automation center maakt bronruns, pipelinegezondheid en onbekende runtime-informatie zichtbaar.
Wat zit erin?
| Onderdeel | Wat je eraan hebt |
|---|---|
| Dagoverzicht | Prioriteiten, beste matches, open trajecten en radarstatus in één beeld |
| Vacatureverkenner | Zoeken en filteren met een uitlegbare detailanalyse naast de resultaten |
| Skillsradar | Actuele marktvraag naast de skills uit je eigen profiel |
| Sollicitatiepipeline | Dossiers, status, notities, deadlines en een auditbare tijdlijn |
| Bronnenbeheer | Veilige bronconfiguratie, gezondheid, handmatige import en mailboxkoppelingen |
| Automatisering | Eerlijke 24-uursmetingen; niet-gemeten informatie blijft expliciet onbekend |
Productbeelden
De beelden hieronder komen uit de lokale demo-omgeving. De getoonde cijfers zijn omgevingsdata, geen marketingclaims.
| Vacatureverkenner | Automatisering |
|---|---|
![]() |
![]() |
Snel starten
Optie 1 — lokale demo
Vereisten: Python 3.12 of 3.13, uv en Git Bash op Windows.
./scripts/codex_bootstrap.sh
uv run python manage.py runserver 0.0.0.0:8080
Open daarna http://127.0.0.1:8080. Wanneer het bootstrap-script de ontwikkelomgeving heeft aangemaakt, kun je lokaal aanmelden met:
admin / codex-local-only
Het bootstrap-script maakt zo nodig .env, installeert de gelockte dependencies, voert migraties uit, laadt veilige demodata en draait de kwaliteitsgates. Deze tijdelijke login is uitsluitend voor lokale ontwikkeling; wijzig of verwijder hem voordat de installatie vanaf een ander toestel bereikbaar is.
Optie 2 — Docker Compose
Vereisten: Docker met Compose v2 en Bash.
APP_HOST=localhost APP_SCHEME=http bash scripts/deploy_docker.sh
Open daarna http://127.0.0.1:1226. Het deployscript vult ontbrekende lokale .env-waarden met sterke gegenereerde defaults, start PostgreSQL, Redis, Django, de worker en scheduler en controleert de health-endpoints.
http://127.0.0.1:1226/health/ready/
http://127.0.0.1:1226/health/live/
Gebruik voor een bestaande installatie geen nieuwe gegenereerde .env: bewaar de huidige secrets en databasegegevens. Zie lokale ontwikkeling of Unraid-deployment voor het volledige pad.
Eerste configuratie
Na de eerste login:
- Open Zoekprofiel en stel regio, radius, rollen, skills en werkvoorkeuren in.
- Open Bronnen en activeer alleen bronnen waarvan beleid en voorwaarden beoordeeld zijn.
- Configureer optioneel een eigen vacaturemailbox; credentials worden niet in de repository opgeslagen.
- Controleer Automatisering voordat je op onbemande verwerking vertrouwt.
- Verifieer in productie altijd HTTPS, back-ups, herstel en healthchecks.
Voor een publieke HTTPS-host configureer je de bestaande .env veilig met:
python scripts/configure_public_url.py \
https://vacatureradar.example.be \
--env-file .env \
--cache-url redis://127.0.0.1:6379/1
De publieke URL wordt vervolgens gebruikt voor ALLOWED_HOSTS, CSRF, secure cookies en HTTPS-detectie. Gebruik achter Nginx altijd DJANGO_DEBUG=0; een debugpagina mag nooit publiek zichtbaar zijn. Hermaak de container na een environmentwijziging.
Publiceer poort 1226 niet rechtstreeks op internet. Gebruik een beheerde reverse proxy met TLS en volg Unraid-deployment en de concrete Nginx Proxy Manager-handleiding. Een volledig productievoorbeeld staat in deployment/production.env.example.
Eerlijke grenzen
VacatureRadar:
- logt niet automatisch in op vacaturesites en omzeilt geen CAPTCHA of rate limit;
- crawlt denylistplatformen niet rechtstreeks;
- behandelt HTML, e-mail en modeloutput altijd als onbetrouwbare data;
- laat iedere URL en redirect door bronbeleid en SSRF-validatie gaan;
- past deterministische harde regels toe vóór optionele AI-analyse;
- verstuurt nooit automatisch een sollicitatie;
- toont ontbrekende of niet-gemeten informatie als onbekend in plaats van die te simuleren.
Lees vóór productiegebruik SECURITY.md en het threat model.
Ontwikkelen en verifiëren
De kern is een server-rendered Django 5.2-modulaire monoliet met PostgreSQL, Redis/Celery en een lokale dark/light-interface zonder runtime-CDN of SPA-afhankelijkheid. SQLite wordt gebruikt voor lokale tests.
uv sync --frozen
uv run python manage.py migrate
uv run python manage.py runserver 0.0.0.0:8080
Voer vóór iedere oplevering de volledige gate uit:
./scripts/codex_verify.sh
Die controleert formatting, lint, Django-configuratie, migraties, de volledige offline testset, minimaal 70% branch-aware dekking, documentatie en de taakledger. Bij wijzigingen aan de frontend controleer je daarnaast toetsenbordgebruik, dark/light en minimaal 360 px plus een gangbare desktopbreedte.
Beheer en deployment
- Lokaal ontwikkelen
- Docker en Unraid uitrollen
- Nginx Proxy Manager configureren
- Push-to-deploy met Gitea
- Operationeel runbook
- Back-up en herstel
Een overdrachtsarchief zonder secrets, lokale databases of caches maak en controleer je met:
uv run python scripts/package_project.py ../VacatureRadar_Project.zip
uv run python scripts/verify_package.py ../VacatureRadar_Project.zip
Repositorykaart
apps/ Django-domeinen en bedrijfsservices
config/ Django- en Celery-configuratie
config-data/ Bronbeleid en gesaneerde voorbeeldconfiguratie
fixtures/ Deterministische externe testformaten
templates/ + static/ Server-rendered productinterface
docs/ Product-, ontwerp-, security- en operationele documentatie
deployment/unraid/ Unraid-installatiebestanden
scripts/ Bootstrap, verificatie, deployment, back-up en beheer
tests/ Unit-, integratie-, security- en browsertests
Belangrijke ingangen voor bijdragers en onderhoudsagents:
- Bijdragen
- Projectstart voor Codex
- Architectuur
- UX- en designcontract
- Teststrategie
- Actuele projectstatus
- Machineleesbare backlog
Licentie
De broncode valt onder de MIT-licentie. Controleer voor iedere externe vacaturebron afzonderlijk de voorwaarden, robotsregels, databankrechten en toepasselijke wetgeving. Het project levert technisch bronbeleid, geen juridisch advies.



