Skip to content

Open Producten combineert producttypen, product aanvragen en producten zodat de dienstverlening eenvoudiger wordt.

License

Notifications You must be signed in to change notification settings

maykinmedia/open-producten

Repository files navigation

open_producten (PoC)

Version: 0.1.0
Source:https://github.com/maykinmedia/open-producten
Keywords:producten

Plek voor gemeenten om product-typen en producten te beheren om ze te gebruiken in andere applicaties. (English version)

Ontwikkeld door Maykin B.V..

Introductie

Open Producten is een applicatie waarin product typen en producten op een enkele plek kunnen worden beheerd. Andere applicaties zoals Open Inwoner en Open Formulieren kunnen met Open Producten via een REST API integreren om bijvoorbeeld product typen informatie te tonen, producten aan te maken of om de actuele prijs van een product type op te halen.

Dit project is op dit moment een proof of concept.

Het data model van het Open Producten PoC is gebaseerd op dat van Open Inwoner met een aantal wijzigingen voor integraties met Open Inwoner en Open Formulieren.

In Open Producten worden product typen en producten opgeslagen. Een product type is bijvoorbeeld een parkeervergunning en bevat alle relevante informatie zoals wat de regels zijn, hoe verschillende zones werken enz. Een product is in dit voorbeeld een parkeervergunning van een persoon en bevat in dit geval het kenteken en de persoonsgegevens.

Integraties

Open Inwoner

De integratie met Open Inwoner bestaat uit een management command dat alle product typen uit Open Producten ophaalt en in Open Inwoner aanmaakt/aanpast. Hierdoor worden de product typen als het ware "gesynced". Hieronder valt ook alle data dat aan een product type is gelinkt zoals:

  • condities
  • vragen
  • categorieën
  • bestanden
  • tags
  • prijs opties
  • velden
  • locaties
  • organisaties
  • contacten

De integratie is hier te vinden.

setup:

  1. Open Inwoner dashboard -> Data koppelingen -> Open Producten configuration.
  2. Voeg een service toe.
  3. Vul de api token in.

Open Formulieren

Voor de integratie met Open Formulieren zijn de volgende modellen toegevoegd aan Open Producten.

docs/price-model.png docs/form-generation-model.png

In Open Formulieren heeft een product op dit moment een enkele static prijs. In Open Producten is dat via de modellen in de linker afbeelding uitgebreid. Een Product type kan meerdere prijzen hebben die vanaf een bepaalde dag gelden, zo kan een prijswijziging al van te voren worden ingevoerd. Daarnaast bestaat een prijs uit meerdere opties, een paspoort heeft bijvoorbeeld een normale en een spoed optie die iets duurder is. In Open formulieren is het "ProductPrice" component toegevoegd. Dit component is een radio component gevuld met de prijs opties van het product (type) dat is gelinkt aan het formulier.

Met de modellen in de rechter afbeelding worden velden aan een producttype gelinkt, het belangrijkste van een veld is het type. Dit type komt overeen met een FormIO component in Open Formulieren. vanuit de velden van een product type. Dit wordt gedaan vanaf de product admin pagina in Open Inwoner via de "Generate form" action. Deze actie haalt de velden van een product type op maakt een formulier aan. Dit formulier moet daarna verder worden geconfigureerd door een medewerker.

Om de prijzen uit Open Producten in Open Formulieren te laden wordt er gebruik gemaakt van dezelfde methode als bij de integratie naar open inwoner.

De integratie is hier te vinden.

setup:

  1. Open Formulieren dashboard -> Miscellaneous -> Open Producten configuration.
  2. Voeg een service toe.
  3. Vul de api token in.

Flow

docs/flow-nl.png

In Open Producten is het product type “parkeervergunning” toegevoegd. Als een inwoner een parkeervergunning wil aanvragen gaat hij naar Open Inwoner waar hij alle informatie over een parkeervergunning kan vinden. Deze informatie komt dus oorspronkelijk uit Open Producten. Op de parkeervergunning pagina zal een link staan om het product aan te vragen. Via deze link wordt de inwoner doorverwezen naar het parkeervergunning formulier. Nadat de inwoner het formulier heeft ingevuld en heeft afgerond zal er een parkeervergunning aanvraag zaak worden aangemaakt in Open Zaak. Nadat deze aanvraag is afgehandeld zal er een product in Open Producten worden opgeslagen. Dit product is de parkeervergunning van de inwoner op zijn opgegeven kenteken.

API specificatie

Lint OAS Generate SDKs Generate Postman collection

Versie Release datum API specificatie
latest n/a ReDoc, Swagger

Een api token kan worden aangemaakt in Open Producten admin -> Users -> Tokens.

Ontwikkelaars

Build status Coverage Code style Supported Python version

Deze repository bevat de broncode voor open_producten. Om snel aan de slag te gaan, raden we aan om de Docker image te gebruiken. Uiteraard kan je ook het project zelf bouwen van de broncode. Zie hiervoor INSTALL.rst.

Open producten bestaat uit drie apps:

  • product types
  • products
  • locations (& organisations)

Het data model van Open Producten is hier te vinden.

Quickstart

  1. Download en start open_producten:

    $ wget https://raw.githubusercontent.com/maykinmedia/open-producten/main/docker-compose.yml
    $ docker-compose up -d --no-build
    $ docker-compose exec web src/manage.py loaddata demodata
    $ docker-compose exec web src/manage.py createsuperuser
  2. In de browser, navigeer naar http://localhost:8000/ om de beheerinterface en de API te benaderen.

Links

Licentie

Copyright © Maykin 2024

Licensed under the EUPL

About

Open Producten combineert producttypen, product aanvragen en producten zodat de dienstverlening eenvoudiger wordt.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published