Jens ed8f59439d
Managed validation / full (pull_request) Canceled after 0s
docs: record VacatureRadar history blocker
2026-08-31 09:30:36 +02:00
2026-08-12 11:42:00 +02:00
2026-08-12 11:42:00 +02:00
2026-08-12 15:12:51 +02:00
2026-07-21 14:00:00 +02:00
2026-07-21 14:00:00 +02:00
2026-07-28 04:43:20 +02:00
2026-07-21 14:00:00 +02:00
2026-07-21 14:00:00 +02:00
2026-07-21 14:00:00 +02:00
2026-07-28 04:43:20 +02:00
2026-07-27 23:38:37 +02:00
2026-07-21 14:00:00 +02:00
2026-07-21 14:00:00 +02:00
2026-07-21 14:00:00 +02:00
2026-07-21 14:00:00 +02:00
2026-07-27 23:38:37 +02:00
2026-07-27 23:38:37 +02:00
2026-07-27 23:38:37 +02:00

VacatureRadar-logo

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-paginas, 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.

Actuele release: 0.3.17. De volledige P0/P1-releasebasis en de publieke demo-hardening zijn afgerond: 328 tests zijn groen, Microsoft 365 verwerkt platformmails via app-only OAuth/XOAUTH2. Release 0.3.17 herstelt bovendien de reproduceerbare private-registrypublicatie zonder afhankelijkheid van de GitHub Releases-API. Het controleerbare acceptatiebewijs staat in Finale acceptance.

Dagoverzicht van VacatureRadar in licht thema

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

  1. Stel je radar in. Kies rollen, skills, regio, afstand, werkmodel en harde grenzen.
  2. Laat toegestane bronnen verwerken. De radar ontdekt, haalt op, normaliseert en dedupliceert vacatures volgens bronbeleid en SSRF-beveiliging.
  3. Beoordeel de beste signalen. Iedere match toont score, datakwaliteit, positieve signalen en aandachtspunten.
  4. Leer van de markt. De Skillsradar laat zien welke technologieën terugkomen en waar je profiel dekking heeft.
  5. Volg acties op. Bewaar interessante vacatures, beheer sollicitatiedossiers en houd gesprekken en deadlines bij.
  6. 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 afzonderlijke mailboxkoppelingen voor negen jobplatformen
Automatisering Eerlijke 24-uursmetingen; niet-gemeten informatie blijft expliciet onbekend

Bekijk de volledige productflow

De beelden komen uit een gesaneerde lokale demo-omgeving. De getoonde aantallen zijn een momentopname van die demo en bewijzen geen productie-status; daarvoor geldt uitsluitend de gedateerde finale acceptance. Klik op een beeld voor de volledige resolutie.

1. Vind de relevante kansen

De verkenner brengt zoeken, filters, gerangschikte resultaten en de belangrijkste matchcontext samen. Zo hoef je niet tussen lijst- en detailpaginas te blijven wisselen.

Vacatureverkenner met gerangschikte matches en directe intelligence

2. Begrijp waarom een vacature past

Een analyse maakt score, datakwaliteit, beslissignalen, aandachtspunten en broninformatie afzonderlijk zichtbaar. Ervaring en senioriteitslabels worden als context getoond, niet als verborgen scorefactor.

Uitlegbare vacatureanalyse met scorecomponenten en besliscontext

3. Bouw markt- en werkgeversinzicht op

Skillsradar
Vergelijk aantoonbare marktvraag met je profiel, zonder ontbrekende skills als afwijzingsregel te behandelen.
Werkgeversradar
Bekijk werkgevers, actieve IT-vacatures, bronnen en eerdere dossiers in één genormaliseerd overzicht.
Skillsradar met profieldekking en actuele marktvraag Werkgeversradar met vacature- en broninformatie

4. Volg trajecten op en houd bronnen gezond

Sollicitatiepipeline
Bewaar status, deadlines, notities en tijdlijn per dossier; de uiteindelijke sollicitatie blijft altijd handmatig.
Bronnenbeheer
Zie policyreview, laatste scans, volgende runs, brongezondheid en de status van iedere platformmailbox zonder technische logs te moeten doorzoeken.
Sollicitatiepipeline met persoonlijke dossiers Bronnenbeheer met policy- en gezondheidsstatus

5. Controleer de radar — ook mobiel

Automation center
Volg de echte verwerkingspipeline, bronruns en systeemstatus. Niet-gemeten runtime-informatie blijft expliciet onbekend.
Mobiel zoekprofiel
Controleer je persoonlijke radar en navigeer door de kernflow vanaf een smal scherm.
Automation center met pipeline en bronruns Mobiel zoekprofiel van VacatureRadar

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:

  1. Open Zoekprofiel en stel regio, radius, rollen, skills en werkvoorkeuren in.
  2. Open Bronnen en activeer alleen bronnen waarvan beleid en voorwaarden beoordeeld zijn.
  3. Koppel optioneel afzonderlijke vacaturemailboxen voor VDAB, Indeed, LinkedIn, ictjob.be, Jobat, StepStone, Careerjet, Randstad en Robert Half. Credentials worden niet in de repository opgeslagen.
  4. Controleer Automatisering voordat je op onbemande verwerking vertrouwt.
  5. 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.

Voor Microsoft 365 gebruikt VacatureRadar uitsluitend app-only OAuth/XOAUTH2 voor IMAP en SMTP; Basic Auth en Microsoft 365-app-wachtwoorden worden niet ondersteund. Beperk de Entra-serviceprincipal tot de bedoelde mailbox en geef alleen IMAP.AccessAsApp en SMTP.SendAsApp. De exacte configuratie- en rotatiestappen staan in het operationele runbook.

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 --all-groups
uv run playwright install chromium
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 testset, verplichte Chromium-E2E, minimaal 70% branch-aware dekking, documentatie en de taakledger. De browsergate controleert de kernreis, focus, consolefouten en documentoverflow op mobiel, tablet, laptop, desktop, widescreen en ultrawide.

Beheer en deployment

Productiereleases worden door Gitea Actions gebouwd, gescand en als private containerimage gepubliceerd. Pin Unraid op versie@sha256:digest, bewaar de vorige digest voor rollback en gebruik nooit alleen een veranderlijke tag als productiereferentie.

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:

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.

S
Description
Persoonlijke vacature-assistent voor België met uitlegbare selectie en volledige gebruikerscontrole.
Readme MIT
11 MiB
Languages
Python 80.5%
HTML 11.5%
CSS 4.5%
Shell 2.6%
JavaScript 0.7%
Other 0.2%