OpenC Contract Compliance Management
  • Svelte 53%
  • TypeScript 46.5%
  • HTML 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Remco van Buren 359d7cf2a6 Verhoog uploadlimiet van 50 naar 100 MB
Documenteer ook BODY_SIZE_LIMIT in .env.example: nodig voor productie
met adapter-node, anders begrenst de Node-server requests op 512 KB.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 18:09:35 +02:00
.claude Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
.vscode Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
src Verhoog uploadlimiet van 50 naar 100 MB 2026-08-23 18:09:35 +02:00
static Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
.env.example Verhoog uploadlimiet van 50 naar 100 MB 2026-08-23 18:09:35 +02:00
.gitignore Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
.npmrc Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
package-lock.json Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
package.json Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
README.md Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
tsconfig.json Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00
vite.config.ts Bouw OpenContract: DVO-naleving aantonen per opdrachtgever 2026-08-23 16:39:31 +02:00

OpenContract

OpenC Contract & Compliance Management — webapplicatie waarmee OpenC per opdrachtgever aantoont dat de dienstverleningsovereenkomst (DVO) wordt nageleefd.

Functies

  • Nalevingsmatrix per overeenkomst: verplichtingen uit de DVO, het DORA-amendement, de Verwerkersovereenkomst en de Werkafspraken, met artikelverwijzing, frequentie, status (nog te starten / in uitvoering / gereed / n.v.t.), uitvoeringsdatum en notities. Filterbaar per bron en status, doorzoekbaar.
  • Documenten: uploaden (max. 50 MB), categoriseren (overeenkomst, beleid, gespreksverslag, SLA-rapportage, polis, auditbewijs, …) en optioneel koppelen aan een verplichting als bewijs. Downloads zijn afgeschermd per bedrijf.
  • Beheer van bedrijven, personen en gebruikersaccounts.
  • Rollen: Admin (OpenC) beheert alles; Klant (contactpersoon van een opdrachtgever) ziet uitsluitend het dashboard, de naleving en de documenten van het eigen bedrijf, als alleen-lezen.
  • Incidenten en changes worden bewust niet in deze app beheerd; dat gebeurt in forge.smartyellow.nl. Een koppeling (Forgejo REST API) is voorzien als latere uitbreiding.

Techniek

  • SvelteKit (Svelte 5) met @sveltejs/adapter-node
  • SQLite via better-sqlite3; database en uploads in ./data/ (buiten git)
  • Sessie-authenticatie met HttpOnly-cookies, wachtwoorden gehasht met bcrypt
  • Bij de eerste start wordt de database automatisch aangemaakt en gevuld met startdata: OpenC, Donatus Verzekeringen en Solarif Group, het admin-account en de volledige nalevingsmatrix van de DVO Donatus (118 verplichtingen).

Ontwikkelen

npm install
npm run dev

Inloggen: remcovanburen@openc.nl met het wachtwoord uit ADMIN_INITIAL_PASSWORD (zie .env.example; standaard OpenC2026!wijzigen — direct wijzigen na eerste login via Gebruikers → Wachtwoord).

Productie

npm run build
node build

De server draait dan op poort 3000 (aanpasbaar met PORT). Zorg dat ./data/ persistent is (database + uploads).

Projectstructuur

  • src/lib/server/db.ts — schema, migratie en seed
  • src/lib/server/auth.ts — login, sessies, wachtwoorden
  • src/lib/server/seed-obligations.json — de 118 verplichtingen uit de Nalevingsmatrix DVO Donatus
  • src/routes/ — pagina's: dashboard, naleving, documenten, bedrijven, personen, gebruikers
  • InputDocs/ — brondocumenten (alleen lokaal, staat in .gitignore)