No description https://hnnw.nl
  • PHP 60.1%
  • Twig 19.3%
  • CSS 14.2%
  • JavaScript 6.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-03 21:15:58 +02:00
assets Auth css verwijderd 2026-04-14 13:44:41 +02:00
bin Add webapp packages 2026-04-01 14:27:14 +02:00
config Feat: Composer update 02/09/2026. 2026-09-02 14:49:25 +02:00
migrations Feat: Resetted the migrations by generating a new migration. 2026-07-09 16:11:58 +02:00
public Feat: Merge pull request 'team-6/admin-deel-2' (#76) from team-6/admin-deel-2 into develop. 2026-07-09 15:57:29 +02:00
src Fix navigationbar links 2026-09-03 14:36:08 +02:00
templates Fix navigationbar links 2026-09-03 14:36:08 +02:00
tests Add webapp packages 2026-04-01 14:27:14 +02:00
translations Add webapp packages 2026-04-01 14:27:14 +02:00
.editorconfig Add initial set of files 2026-04-01 14:25:39 +02:00
.env RUD systeem 2026-06-22 11:29:09 +02:00
.env.local.example Feat: Set some things back/correct that team 4 did wrong. 2026-07-09 15:08:20 +02:00
.gitignore Fixed: public/assets/ folder not in the git repo due to accidentally .gitignore record & deleted few files and folders from the assets/ folder 2026-04-13 13:35:25 +02:00
compose.override.yaml Add webapp packages 2026-04-01 14:27:14 +02:00
compose.yaml Add webapp packages 2026-04-01 14:27:14 +02:00
composer.json Feat: Composer update 02/09/2026. 2026-09-02 14:49:25 +02:00
composer.lock Feat: Composer update 02/09/2026. 2026-09-02 14:49:25 +02:00
importmap.php Added the Symfony UX packages 2026-04-01 16:12:55 +02:00
LICENSE Added symfony project files 2026-04-01 15:37:22 +02:00
phpunit.dist.xml Added the Symfony UX packages 2026-04-01 16:12:55 +02:00
README.md Feat: Readme update for new repo provider url. 2026-09-03 21:15:58 +02:00
symfony.lock RUD systeem 2026-06-22 11:29:09 +02:00

Het Nieuwe² Werken (HNNW)

Het Nieuwe² Werken (HNNW) is een crowd-sourcing platform voor de overheid dat vraag en aanbod van werk samenbrengt. Het stelt organisaties en individuen in staat hulpvragen en opdrachten te publiceren, waarop deelnemers kunnen reageren.

Het platform is ontworpen om samenwerking binnen en tussen overheidsorganisaties te stimuleren, met een focus op transparantie, veiligheid en schaalbaarheid.


Table of Contents


Overview

HNNW is the next-generation platform for collaborative work within the Dutch government ecosystem.

The platform enables:

  • Publishing projects and work packages
  • Matching supply and demand of expertise
  • Cross-organisational collaboration
  • Community and group formation
  • Transparent participation and workflow management

This repository contains the core Symfony application powering the HNNW platform.

Production website: https://hnnw.nl Repository: https://code.hnnw.nl/HNNW/core


Installation

Requirements

Before starting, ensure the following software is already installed:

  • PHP 8.5.4+
  • Composer
  • Symfony CLI
  • Git
  • PostgreSQL 18 + pgAdmin 4

Note: installation steps for PHP, Composer and Symfony CLI are intentionally not included in this README.


1. Install PostgreSQL 18

Download and install PostgreSQL 18 from the official W3Schools installation guide: https://www.w3schools.com/postgresql/postgresql_install.php

During installation:

  • Remember the password you set for the postgres user
  • Ensure pgAdmin 4 is installed alongside PostgreSQL
  • Keep the default PostgreSQL port (5432) unless you specifically need another port

After installation, PostgreSQL should be running automatically.

2. Create the database in pgAdmin

Open pgAdmin 4.

Create a new database

  1. Expand:
Servers → PostgreSQL 18
  1. Right-click:
Databases
  1. Select:
Create → Database...
  1. Enter a database name, for example:
hnnw_core
  1. Click:
Save

The database is now ready for use.

3. Clone the repository

git clone https://code.hnnw.nl/HNNW/core.git
cd HNNW-core

4. Install dependencies

composer install

During installation, one of the Symfony UX packages may ask whether Docker-related files should be installed.

Since Docker is not used for this project, simply select:

x

This corresponds to:

No, don't ask again for this project

5. Create environment configuration

Duplicate the example environment file:

cp .env.local.example .env.local

If cp is not available, manually duplicate:

.env.local.example

Rename it to:

.env.local

6. Configure .env.local

Open .env.local and configure the application settings.

Configure APP_SECRET

Generate a secure application secret:

php -r "echo bin2hex(random_bytes(32));"

Place the generated value inside .env.local:

APP_SECRET=your_generated_secret_here

Configure PostgreSQL connection

Inside .env.local, set the DATABASE_URL.

Example configuration:

DATABASE_URL="postgresql://your_username:your_password@127.0.0.1:5432/your_local_database?serverVersion=18&charset=utf8"

Replace:

Value Description
your_username PostgreSQL username (mostly postgres)
your_password Your PostgreSQL password
your_local_database Database name created in pgAdmin
5432 PostgreSQL port

Example:

DATABASE_URL="postgresql://your_username:your_password@127.0.0.1:5432/your_local_database?serverVersion=18&charset=utf8"

7. Run database migrations

The database tables are managed through Doctrine migrations.

Run:

php bin/console doctrine:migrations:migrate

When prompted, type:

yes

This will create all required database tables and schema structures.

8. Start the application

symfony server:start

The application should now be available at:

http://127.0.0.1:8000

# and/or

http://localhost:8000

Technical Information

Category Information
Framework Symfony
Backend Language PHP
Frontend Languages HTML, CSS, JavaScript
Templating Twig
Database PostgreSQL 18
ORM Doctrine ORM
Database Migrations Doctrine Migrations
UX Packages Symfony UX (excluding deprecated, Vue.js and React packages)
APIs None currently
Codebase Language en-AU
Application Language nl-NL

Troubleshooting

Composer install fails

Try clearing cache:

composer clear-cache
composer install

Database connection errors

Verify:

  • PostgreSQL is running
  • The database exists in pgAdmin
  • Username and password are correct
  • DATABASE_URL inside .env.local is correct

You can test PostgreSQL connectivity using:

php bin/console dbal:run-sql "SELECT 1"

Migration problems

If migrations fail, ensure the database exists and retry:

php bin/console doctrine:migrations:migrate

To check migration status:

php bin/console doctrine:migrations:status

APP_SECRET missing

Make sure .env.local exists and contains:

APP_SECRET=your_generated_secret_here

Symfony cache problems

Clear cache:

php bin/console cache:clear

Port already in use

If port 8000 is already occupied:

symfony server:start --port=8001

License

This project is licensed under the European Union Public License (EUPL) unless stated otherwise.

Please refer to the official license text:

https://eupl.eu/

Repository organisation: https://code.hnnw.nl/HNNW


Project Team

Project Leadership

  • Project Leader
  • Multiple Stakeholders

Product Ownership & Development Leadership

  • Riley de Man — Product Owner, Lead Developer & Senior Developer

Development Team

A team of approximately 25 developers from Techniek College Rotterdam (MBO) contributes to this project.

This team primarily consists of:

  • Junior Developers
  • Several Medior Developers

© Het Nieuwe² Werken (HNNW)

All rights reserved where not superseded by the EUPL.

Project developed for and in collaboration with the Dutch government ecosystem.