The Ministry of Health, Welfare and Sport (VWS) processes Woo requests as well as objections and appeals through the Directorate for Legislation and Legal Affairs (WJZ) and the Program Directorate for Transparency (PDO).
iRealisatie is developing a modern case management system to support these processes. It will handle workflows for Woo, objections, and appeals, automatically monitor deadlines, enable document search and reuse, and provide dashboards on workload and processing times. This secure web application will give management better insight, improve efficiency and compliance, and ensure timely and accurate reporting for VWS.
- An up-to-date Docker (Desktop) installation
-
Clone this repository: git clone git@github.com:minvws/nl-rdo-zvs-web-private.git zvs
-
Cd into the newly created
zvsfolder:cd zvs -
Open a new terminal at the root of this folder
-
Create an
.envfile by copying the./.env.exampleto./.env:cp .env.example .env -
Create an
.env.robotfile by copying the./.env.robot.exampleto./.env.robot:cp .env.robot.example .env.robot -
Setup docker using laravel/sail by running:
docker run --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/var/www/html" \ -w /var/www/html \ -e TELESCOPE_ENABLED=false \ composer:latest \ composer install --ignore-platform-reqs
Note
You might see a warning about a missing connection pgsql driver (database) and a telescope_entries table related query. The migrations (step 9) will fix this issue. You can ignore it for now.
For more information see: https://laravel.com/docs/12.x/sail#installing-sail-into-existing-applications
(The steps below assume you have an alias for ./vendor/bin/sail, if not run: alias sail=./vendor/bin/sail)
- Start the container by running
sail up -d laravel.test - Run
sail npm install && sail npm run buildto build the node environment - Run
sail artisan key:generateto generate a new application key - Run
sail artisan migrate:fresh --seedto (re)run all migrations and default seeder
MinIO is a high-performance, S3-compatible object storage solution, we use it to store uploaded files and exports.
Note
MinIO is not required to run the application for local development.
# for local development only, if not using MinIO, add the following lines to your .env file: UPLOADS_DRIVER=local EXPORTS_DRIVER=local
See .env.example for more information on how to configure the application to use MinIO
- If not done already, copy the environment variables to your
.envfile from the.env.examplefile. - Run
sail up -d minioto start the MinIO server - Run
sail artisan minio:setupto create the MinIO buckets - Browse to http://localhost:9001 for the MinIO dashboard
- The default user/password combination is
minioadmin/minioadmin
For development, the following env var settings wil be helpful:
# dev env vars:
# the local env uses mailpit, any from email adres will do
OUTBOX_SMTP_FROM=foo@bar.nl
# the application will accept any OTP when prompted
ONE_TIME_PASSWORD_DRIVER=fake
# jobs will by executed synchronously, no need to listen to any queues
QUEUE_CONNECTION=sync
# allows telescope from rendering css (/telescope)
CSP_ENABLED=false
- Browse to http://localhost/ and see the login screen
- The default seeded user/password combination is
admin@minvws.nl/admin - You can use any 6 digits OTP code to login
In order to run the test suite in your dev env. Simply use sail to run the quality assurance tests on your docker container:
# start by creating a test database (for phpunit tests in non-parallel mode)
$ sail composer reset-test-dbThe tests do run in parallel mode. You need to reset the test databases only one time:
$ sail composer test-resetFrom now on, you can always run the test suite.
$ sail composer qualityOr just the PHPUnit tests:
$ sail composer testSee the robot/README.md for instructions on setting up and running the end-to-end tests.
The manual is located in the manual folder and is built with Sphinx.
If you need to enable or disable feature flags, you can do so by setting these variables in your .env file:
NOTIFICATIONS_ENABLED=true|false
TERM_ENGINE_V2_ENABLED=true|false
All feature flags are documented in the config/app.php file features array.
The source code is released under the EUPL license. The documentation is released under the CC0 license. The EUPL 1.2 and the CC0 do not apply to photos, videos, infographics, fonts or other forms of media.
This repository follows the REUSE Specfication v3.3.
Please see REUSE.toml and the individual *.license files for copyright and license information.