Giter Site home page Giter Site logo

jdtcc / algoritmeregister Goto Github PK

View Code? Open in Web Editor NEW

This project forked from minbzk/algoritmeregister

0.0 0.0 0.0 1.31 MB

Samen werken aan verantwoorde en transparante inzet van algoritmische toepassingen door overheden.

License: European Union Public License 1.2

Shell 0.05% JavaScript 1.22% Python 4.86% TypeScript 1.08% Mako 0.07% Vue 12.15% Jupyter Notebook 0.42% Dockerfile 0.22% SCSS 79.93%

algoritmeregister's Introduction

About the Algorithm Register

The Ministry of the Interior and Kingdom Relations is developing the Algorithm Register. The team does this using an open development style, through open source software. Anyone can view the team’s progress on the GitHub of the Ministry of the Interior and Kingdom Relations. The Algorithm Register is under development. The content changes over time. New algorithms are added and algorithms are updated. The Algorithm Register (algoritmes.overheid.nl) is being developed with open source software. The source code can be viewed here on GitHub. It can be downloaded and reused. Github is a platform with transparent version control, where technology in development can be easily shared.

Motivation

The government increasingly works digitally and uses more and more algorithms when doing so. The government wants to work towards transparent and responsible use of these algorithms. Therefore, the government is making information about the algorithms used by the government available to everyone: citizens, their representatives, the media and (government) professionals.

The aim is to make all information about algorithms required to demonstrate the algorithm doesn't unlawfully discriminate centrally accessible for everyone. That allows everyone to see in which impactful processes these algorithms are used. The information on this website provides the ability to oversee algorithms. For example, discrimination or unlawfulness can be exposed, and whether the algorithm provides desirable outcomes can be checked. When someone does not agree with the use of algorithms, the Algorithm Register indicates how objections can be made.

See the Frequently Asked Questions on the Algorithm Register for more information.

Open source software

Will you join us and add your thoughts? To contribute, create an account on GitHub (https://github.com/signup ) and read this readme and the code of conduct to get started. Once signed-up, you can provide feedback on the code of this website, on the algorithm 'standard', on the published description or on the user-friendliness of the website, etc. Get started: join us and add your thoughts!

Technical information

In order to run the application locally, the following tooling is required:

  • Docker (installation instructions)
  • Node.js. The version is specified in frontend/.nvmrc. It is recommended to use use Node version manager, the correct Node version can then be activated with with nvm use.
  • Python. The version is specified in backend/.python-version. It is recommended to use pyenv to switch between Python versions, but this is not mandatory.
  • Poetry. See the docs for installation instructions.

Running the app locally

The documentation below is tested on Ubuntu, but it should work on Windows as well.

Environment variables

Environment variables are stored in .env, but because they can contain secrets (passwords), it is not in the repository. Therefore, copy and paste .env.dummy to .env. For local development, no changes are needed.

Database

  1. Start database. Run from root folder: docker compose up -d.

Validate the backend is running by navigating to the GUI (DBgate) on http://localhost:8093. There you should be able to open the database algreg_db.

Backend

All commnands below should be run from the /backend directory.

  1. Specify Python version to use for virtual environment: poetry env use <python_version>. (The required Python version is specified in backend/.python-version.)
  2. Install packages: poetry install.
  3. Run database migrations: poetry run uvicorn upgrade head.
  4. Start backend: poetry run uvicorn app.main:app --reload

Validate the backend is running by navigating to the documentation on http://localhost:8000/api-docs.

Frontend

  1. Install dependencies. Run from '/frontend: npm install.
  2. Start local server. Run from '/frontend: npm run dev -- -o.

Validate the frontend is running by navigating to http://localhost:3000.

Run locally

  1. Start database from backend. Run from /backend: docker compose up -d
  2. Ensure latest migration has been completed. Run from /backend: poetry run alembic upgrade head
  3. Navigate to /frontend and run npm run dev.
  4. Navigate to /backend and run poetry run uvicorn app.main:app --reload

Other

Linting

This project uses Volar. Install Volar in Visual Studio Code and enable take over mode to prevent unnecessary tslint errors:

  1. Run Extensions: Show Built-in Extensions command
  2. Update Volar to latest version.
  3. Run Extensions: Show Built-in Extensions command
  4. Find TypeScript and JavaScript Language Features, right click and select Disable (Workspace)
  5. Reload VSCode.

Note: Vue linting config inspired by a repository on Github.

Icons

Icons library can be found at https://icones.js.org/.

algoritmeregister's People

Contributors

jaspervanderheide avatar sgort avatar tcrapts-ictu 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.