Files
VacatureRadar/README.md
T
Jens 7caea3a1ee
deploy / deploy (push) Canceled after 0s
demo mode
2026-07-27 23:38:37 +02:00

8.9 KiB
Raw Blame History

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.

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 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
Vacatureverkenner met gerangschikte matches en detailanalyse Automation center met verwerkingspipeline en brongezondheid

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. Configureer optioneel een eigen vacaturemailbox; 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.

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

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.