Giter Site home page Giter Site logo

jdtcc / bromonitor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from minbzk/bromonitor

0.0 0.0 0.0 8.96 MB

De BRO Monitor toont de stand van de Basisregistratie Ondergrond (BRO).

License: Other

Shell 0.46% JavaScript 2.90% Python 55.19% TypeScript 6.81% CSS 8.20% HTML 10.88% Vue 15.48% Dockerfile 0.06%

bromonitor's Introduction

Basis Registratie Ondergrond (BRO) Kwaliteitssservices (voorheen BRO data analyse)

De app is een dashboard/webapplicatie om inzicht te verkrijgen in de data uit de BRO. Dit is een handleiding om de code lokaal werkend te krijgen op Windows en Linux

Benodigdheden

  • Python 3.8
  • Docker of MongoDb (min 4.2.12) + eventueel mongoDb compass
  • Node.js

Python virtual environment aanmaken

  • Maak een virtual environment aan voor het project met python3 -m venv PAD
  • Gebruik de virtual environment, dit kan op twee manieren:
    • Doe in Visual Studio Code: ctrl+ shift + P, 'Select Interpreter' en kies de venv waarbij het pad overeenkomt met deze repository.
    • Indien dit niet werkt, activeer de virtual environment via een commando:
      • Windows: .\PAD\scripts\activate.bat.
      • Linux: source PAD/bin/activate
  • Verifieer dat je de goede interpreter gebruikt met python -c "import sys; print(sys.prefix)", deze hoort de map ./PAD aan te geven.

Environment file configureren

  • Kopieër .env.example naar .env en pas de variabele absolutePathToRepository aan in .env.

Path en environment variabelen zetten

  • Zet het PYTHONPATH voor Python in de virtual environment goed:
    • in Linux met export PYTHONPATH=$PYTHONPATH:/<repository_parent_path>/BROMonitor/app
    • in Windows met set PYTHONPATH=<repository_parent_path>/BROMonitor/app

Dependencies installeren

  • Installeer de benodigde python packages met pip install -r ./app/backend/requirements.txt -r ./app/etl/requirements.txt -r ./app/bromonitorgenerator/requirements.txt
  • Matplotlib kan lokaal in een windows omgeving niet gebouwd worden, installeer het los met
    • python -m pip install -U pip
    • python -m pip install -U matplotlib
  • Installeer de benodigde npm packages met npm install --force in /app/frontend folder. TODO: geeft momenteel errors, werkt alleen met npm install --force.

Databases vullen

Database starten

  • Indien je Docker gebruikt: ga naar /db en start de database middels docker compose up -d. De database is nu beschikbaar op localhost:27017. Mongo express, een web-based viewer, is beschikbaar op localhost:8081.
  • Indien je geen Docker gebruikt: ga naar de .env file en pas het pad naar de database aan zoals gewenst

Data importeren

  • Download de data vanuit Pdok. Run vanuit app/etl: python extract/main.py
  • Importeer de data in MongoDb. Run vanuit app/etl: python load/mongodb/main.py
  • Start de backend. Run vanuit app/backend: uvicorn main:app
  • Creëer statische assets voor de front-end. Run vanuit app/bromonitorgenerator: python main.py.

Runnen

  • Start de backend met uvicorn main:app in de /app/backend folder
  • Start de frontend met npm run start in de /app/frontend folder
  • De site is nu te bezoeken op http://localhost:8080

bromonitor's People

Contributors

anielljaggi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.