Kabath – Documentaties
Mandare is een applicatie ontworpen voor organisaties om efficiënt bewonersregistraties te beheren, met name gericht op semioverheidsinstellingen en gemeentelijke organisaties. Dit systeem biedt een veilige, robuuste en duidelijke structuur voor het opslaan en verwerken van bewonersdata en ondersteunt locatiegebaseerd beheer. Het streven naar doorontwikkeling vraagt om helderheid en structuur in de documentatie, zodat alle betrokkenen de applicatie goed kunnen begrijpen en gebruiken.
Onderdelen van de Documentatie
Traject Documentatie Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-6915)
Bevat alle documentatie die betrekking heeft op de doorontwikkeling van Mandare.
Checklists en voorbereidingen die voor aanvang van elk traject vereist zijn.
Opleverdocumenten met details over de opgeleverde functies en een overzicht van de ontwikkelsprints.
Verslagen en aantekeningen van eventuele vergaderingen.
Gebruikersrollen en Toegangsbeleid Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-11835)
Beschrijft gedetailleerd wie toegang heeft tot specifieke data en welke informatie per gebruikersrol beschikbaar is.
Stelt de toegangsmogelijkheden per rol af en legt de functionele rolverdeling binnen de applicatie uit.
Technische Documentatie Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12075)
Documentatie over de technische infrastructuur en onderliggende processen.
Beschrijft bijvoorbeeld de printerwerking en de hosting-structuur van de applicatie.
Collecties Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12115)
Documenteert de structuur van alle gegevensverzamelingen binnen de applicatie.
Bijzonderheden en specifieke data-eisen worden hier omschreven, inclusief datamodel en opslag.
Admin Interface Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12135)
Handleiding voor de administratieomgeving waarin beheerders navigatie en configuratie van de backoffice kunnen beheren.
Uitleg over de functies en de interface van de beheeromgeving.
Frontend Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12155)
Beschrijft het gebruikersdashboard en de werking ervan voor eindgebruikers.
Omvat het design, de functionaliteit, en eventuele bijzonderheden in de gebruikerservaring.
Dit is een belangrijke referentie bij doorontwikkeling en nieuwe gebruikers kunnen hier de volledige scope van de applicatie begrijpen.
Processen Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12175)
Documenteert alle niet softwarematige processen die de applicatie ondersteunen.
Beschrijft de werkelijke processen zodat deze vertaald kunnen worden naar de functionaliteit in de applicatie.
Met deze documentatie zorgen we voor een duidelijk en gestructureerd overzicht van de werking en opbouw van Mandare. Zo kunnen zowel bestaande als nieuwe stakeholders snel inzicht krijgen in de functionaliteit en mogelijkheden van de applicatie.
Trajectdocumentaties
Checklist – Sprint 1
Feedback is gedefineerd, doorgelopen en gepland
DNS toegang, dekabath.nl
Benodigde overleggen zijn gepland of geregeld:
ClickUp boarden zijn gedeeld met de klant
Keuze maken welk sentry account wordt gebruikt
Afspraak plannen met Matthijs en bas voor dataschema in kaart brengen
Omgang met multitandend en access control
Kickoff
Digital Ocean account regelen (info@volcano.nl heeft toegang)
Domein naam ➝ name server via cloudflare
Al het design bevat een mobiel ontwerp
Ontwerp is geaccordeerd door Kabath
puur structureel.
Alle taken hebben een duidelijke definitie of done
Ontwerp is geaccordeerd door Volcano
…
Taken zijn besproken en doorgelopen (backlog status inbox ➝ processed)
Foutmeldingen, errors, meldingen en acties achter ontwerp is uitgedacht en alles is genoteerd
Documentatie ontvangen en verzameld
Eventuele contact momenten zijn gepland
Oplever moment is gepland
Taken van de sprint
ToDo
Rondleiding op locatie plannen in Maastricht na deze sprint
Oplevering – Sprint 1
Verloop en Bevindingen van de sprint
Sprint goed begonnen
Code reposetory is opgezet
Geen bijzonderheden bij starten
Meeting gehad om data en rechten door te lopen
Veel informatie uit kunnen halen
Uitwerking gedaan in deze documentatie
Rechten structuur moeten we goed over nadenken ➝ toch wel meer tijd in dan gedacht
Scope van gebruikers is grooter geworden
wat werken we wel en niet uit
Nog geen digital ocean account ontvangen ➝ hebben er zelf 1 aangemaakt om vertraing te voorkomen
wel belangrijk dat de credit card gekoppeld wordt
Staging omgeving is online gekomen
Wel wordt er nog gebruikt gemaakt van een gedeelde database
Fysike processen moeten we samen nog goed doorlopen. Afspraak op locatie?
Schatting is dat we nog veel actieve feedback moeten ontvangen om alles strak en sherp te hebben
Problemen met sentry instellen
Oplevering en Changelog
Project management inrichten
deze clickup omgeving
todo om jullie toe te voegen
Grove opzet gedaan voor de invulling voor data en functies
Data schema opstellen & Access control archetectuur uitdenken
Meeting gehad om dingen helder te krijgen
Gedocumenteerd in clickup
Processen doorlopen ➝ hoe geven we hier verder een vervolg op
Gebruikers rollen doorlopen ➝ hoe een vervolg
Collecties doorlopen (data structuur) ➝ feedback nodig, veel gesneden in toegang
Algemeene punten ook meegenomen
Basis backoffice inrichten
locale development omgeving is opgezet
Solide basis is opgezet aan de hand van de documentatie
Doorlopen op de staging omgeving
docs zijn geupdate: Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12135)
Hebben een seeding script toegevoegd, kunnen test data genereren om elementen door te testen
Staging omgeving opzetten
Digital ocean team is aangemaakt
Credit card moet nog gekoppeld worden
Demo geven over de werking en hoe
Multi tenant setup doorlopen?
Sentry Opzetten
Project is ingericht bij ons op het account
Dit doorlopen
hebben we proberen te intergreren, ging veel mis backend crashde
geen tijd gehad om deze onverwachte problemen goed op te lossen
Moet dus nog afgerond worden
Productie omgeving opzetten
Er zijn nog een paar blokerende factors
domein naam
Niet meer aan toe gekomen in de huidige sprint
Specs kunnen overgenomen worden van staging (net alsof het een nieuwe tanent is)
Nieuwe taken op de backlog/onderhouds lijst:
Toevoegen van een access logs
backup protocol opzetten
Impact planning
Volgende taken zetten we door naar de volgende sprint
Sentry opzetten
Productie omgeving opzetten
Start volgende sprint 2
ToDo – Klant
Credit card koppelen aan Digital Ocean (hosting provider)
Nadenken over hoe en wanneer live gaan met v1 van de applecatie
ToDo – Volcano
Checklist sprint 2 doorlopen
Bas toevoegen aan Digital Ocean
Iedereen aan Click Up toevoegen
Linkjes & overzicht na sturen
Inlog delen van de backoffice
Na sturen van de oplevering
Na sturen van checklist sprint 2
Notities
Mail adressen clickup ontvangen
Scopen op locatie
Checklist – Sprint 2
Feedback vorige sprint is gedefineerd, doorgelopen en gepland
Backlog planning is uptodate
Sprint heeft akkoord van de accountmanager
Benodigde overleggen vooraf zijn gepland
Nalopen datastructuur en gebruikers rollen
Afspraak op locatie
Processen zijn goed in kaart gebracht
Alle taken hebben een duidelijke defenitie of done
Taken zijn besproken met het team (backlog status inbox ➝ processed)
Ontwerp is geaccordeerd door de Klant
Ontwerp is geaccordeerd door Volcano
Al het design bevat een mobiel ontwerp
Foutmeldingen, errors, meldingen en acties achter ontwerp is uitgedacht en alles is genoteerd
Documentatie/gegevens ontvangen en verzameld
Besluiten zijn gemaakt
Welke email provider moet gebruikt gaan worden? (mogen we zelf bepalen)
Op welke gebruikers rollen scopen we de implementatie? (overleggen we woensdag)
Hoe diep moeten we op de test suite in gaan? En wat is belangrijk om te testen?
aanwezigheids registratie is het belagrijkst
Wensen in kaart voor de UI. Kleurtjes, afbeeldingen en ontwerp wensen?
ToDo taken voordat de sprint begint
Domein naam is beschikbaar
Gegevens van email provider zijn ontvangen
Eventuele data zijn geplaned:
Start datum: 18-11-2024
Update moment: niet nodig
Oplever moment: 29 november 15:00?
Speciale afspraken
Checklist & sprint zijn over mail geaccordeerd
Aangeleverd ontwerp
…
Notities
….
Oplevering – Sprint 2
Verloop en Bevindingen van de sprint
Oplevering en Changelog
Nieuwe taken op de backlog/onderhouds lijst:
Impact planning
ToDo – Klant
Credit card koppelen aan Digital Ocean (hosting provider)
Afbeelding aanleveren voor login scherm
Sidebar oranje maken
Domein aanleveren
ToDo – Volcano
Bas toevoegen aan Digital Ocean
Iedereen aan Click Up toevoegen
Linkjes & overzicht na sturen
Mandare.nl domein registreren
Notities
Meeting op locatie
hoofdbeveileiger
andere beveiligers aanmaken
medewerkers aanmaken en nonactief zetten
normale beveilgiers
is receptie 2
gasten komen ook in receptie 2 binnen
bewoner checkin checkout
hoofd beveilgier
zit ook op receptie 1
bezoekers aanmelden
medewerkers als echt bezoek
doen niks met bewoners
controleren van de aandachts lijst
5 dagen geen activietie dan sta je op de aandachts lijst
Personen
totaal aantal dagen afwezig
alle aanwezigheids tijd bij elkaar op tellen
forumele: aantal minuten totaal > 60 aantal uren heel > dag afgerond naar beneden
28 dagen regeling
vanaf de 18 november begonnen tot 18 november 2025
elke bewoner krijgt leefgeld
is een maandelijkse uitkering voor onkomsten
krijg je als je in een gemeentelijk ding zit
mensen zijn eigelijk heel vaak afwezig
mensen zijn er puur om het leef geld?
mensen mogen max 28 dagen afwezig zijn
hebben ze meer dan moeten ze inlevern
28 dagen regeling tab?
automatischeringen
wil weten of iemand minder jarig is
uren staten > sbl
reperatie verzoeken
faciltiair ➝ controlerende functie
aanwezigheids vraag
als er een reperatie gedaan moet worden moet aanwezigheid gecheck kunnen worden
in het aanmeld formulier voorkeur geven
gaan nooit alleen
toegangs passen
bezoekers ➝ klaarmaken van de kamers
medewerkers ➝ in het systeem kunnen zetten
medewerkers overzicht wanneer ze er zijn
statastieken kamers
aanwezig in het gebouw
naam geboorte datum >
voor en achternaam staan op een id bewijs soms niet goed
versijning op een kamer 3 persoons kamer 2 1 kamer over
beleids mede werker
locatie manager moet kunnen schipperen
gemeente krijgt een aanvraag
vraag plaats voor
jhon krijgt de gegevens
veiligeids regio krijgt de gegevens
kamer automatisereing
hoofd beveiliging
crieert medewerekrs
bezoeker registratie
aanmelden intern
van belang
toe voegen van medewerkers
verwijderen van medewerkers
medewerkers 3 maanden
history van de medewerker heeft geen meerwaarde
United Way
4 vaste
organisatie registreren
Intern of bezoeker
intern is vast werkzaam, gemeente maastricht
Olaf is vervalende hoofd beveiliging
medewerkers zijn niet helemaal uptodate
data overmigreren
Afspraak met is belangrijk
gene die binnen gekomen en met en de tijd wanneer is binnen gekomen
overzicht van aanwezige beowners voor ontruiming
moet ook uit kunnen printen?
ook de andere types bezoekers en medewerkers
reperatie komen dubbel binnen
overzicht met alle linkjes
Schade formulier ➝ gegevens verzamelen
logboek gebruik ➝ overdracht
b022 ➝ logeer kamer is een fam kamer
moet goed lopen
Scanners werken nog niet helemaal lekker
bezoekers en tijdelijke bezoekers passen
kamer bezetting
geboorte datum is van belang
tijd wanneer vertrokken of binnen gekomen belangrijk
toegangs log wel handig
bezoekers verwacht
afspraak met is verpicht
bedrijf ook verplicht
datum en tijd verwacht
aanmelden van gasten
vooraf door de gemenete aangevraagd
pas toekennen en hun actief
passen komen bij de receptie te liggen bij bewoners
pas toewijzen en hun op aanwezig zetten
pas leveren ze weer in
wordt weer hergebruikt voor de volgende keer
status van een pas en toewijzen van een pas op een gast
6 nachten en 7 dagen
aandachts bewoners
bewoners die langere tijd afwezig zijn
gasten die de 7 dagen overschrijven
28 dagen regeling
locatie manager
werkt bij de gemeente
gepositioneert dorr gemeente
3 dames als woon begeleider
vluchtingen werk
woonbegeleiders een dubbele taak
regels en helpen
schoonmaak is ook onderdeel
contract met viola met de gemeente
het stysteem
1 petter
probleem tegen aan hikken
80 20 regel
gisteren woon begeleiders
feedback verzamelen ➝ communicatie gaat vaak langs elkaar
cultuur verschillen uitvoering
process optuigen van veranderingen
communicatie wanneer en wat we doen
prioriteiten kunnen maken
overheid heeft de 28 dagen regeling ingevoerd
is een kan bepaaling
dag is 24 uur
uitdraai kan maken van access log
dagelijks naar kijk is de bewoners
de aandachts lijst
lijst met 28 dagen
lijst met mensen die weg zijn zonder melden
filteren op dagen weg
kinderen wel of niet aanwezig zijn
school gangers
kamerbeheer ook belangrijk
open kamers
meldinen
overleg ➝ kebath moet met de meldings lijst komen
40 van de 40 opgelost
1 van de melding 2 maanden wachten
ze doen niks met me vraag
overzicht belangrijk
in en uit checken
visie
aantekeningen maken van een gesprek met woonbegeileiders
ze proberen overal een ander antwoord te krijgen
pas foto’s opnieuw defineren
Vragen
Waarom moeten bewoners afwezigheid melden
Meeting 25-11-2024
Receptie 1 en 2
was onder de indruk dat de hoofdbeveiliging alleen receptie 1 deed
inchecken van werknemers
Meeting 5-12
DPA
pia
Privacy assesment
wat is het process
welke gegevens verwerken
wat zijn de risocs voor de eind gebruikers/bewoners
maatregelen te treffen om het weg te nemen
impact assment
Aandachts lijst
Woonbegeleider moet dit kunnen resetten
https://www.bio-overheid.nl/ICO-Wizard/
bewaar termijnen
meenemen in de onboarding van een gemeente
penetratie testen
pag
loggin en monitoring
boetes veel in dit kader
Checklist – Sprint 3
Feedback vorige sprint is gedefineerd, doorgelopen en gepland
Backlog planning is uptodate
Sprint heeft akkoord van de accountmanager
Benodigde overleggen vooraf zijn gepland
Alle taken hebben een duidelijke defenitie of done
Taken zijn besproken met het team (backlog status inbox ➝ processed)
Ontwerp is geaccordeerd door de Klant
Ontwerp is geaccordeerd door Volcano
Al het design bevat een mobiel ontwerp ➝ nvt
Foutmeldingen, errors, meldingen en acties achter ontwerp is uitgedacht en alles is genoteerd
Documentatie/gegevens ontvangen en verzameld
Besluiten zijn gemaakt
Scope van sprint 3 staat vast
ToDo taken voordat de sprint begint
Registreren van het domein en samen met Matthijs Cloudflare inrichten. (na registratie even bellen)
Eventuele data zijn geplaned:
Start datum: 9 December
Oplever moment: 20 December om 11 uur
Speciale afspraken
Checklist & sprint zijn over mail geaccordeerd
Aangeleverd ontwerp
…
Notities
….
Oplevering – Sprint 3
Wie mag allemaal toegang tot de contact info hebben van personen
Oplevering feedbacklijst – 17-02-2025
Fotos tonen na een tijdje niet meer goed / Het laden van foto’s duurt veel te lang.
gemeld door: William, Fred, Irmgard
Sommige foto’s waren erg groot. We hebben deze geoptimaliseerd en enkele aanpassingen gedaan om de fouten te verhelpen. Het blijft echter lastig om dit volledig te testen. Mocht het probleem opnieuw optreden, meld het dan direct via het feedbackformulier, dan lossen we het zo snel mogelijk op.
Uitloggen / activiteits duur / uitlog na updates
gemeld door: William
Je wordt nu minder vaak uitgelogd; de sessieduur is verlengd naar 12 uur. Wanneer er een update beschikbaar is, krijg je een melding om de website te verversen. Dit voorkomt fouten en geforceerde logouts. We overleggen nog hoe we de praktische kant het beste kunnen combineren met de veiligheid. Daarnaast hebben we enkele bugs gevonden die ervoor zorgden dat automatisch uitloggen te vroeg plaatsvond.
In kamerbeheer op peroon id de kamer vinden
Gemeld door: William,
In het kamerbeheer kun je nu ook zoeken naar bewoners op naam of persoons-ID.
Het sorteren van kamers en bewoners op naam en nummer
Gemeld door: bulte@dekabath.nl
In het kameroverzicht en het persoonsoverzicht is het nu mogelijk om gegevens te sorteren. Wanneer je op de kolomtitel klikt (bijvoorbeeld ID, naam, status, etc.), wordt de lijst gesorteerd op die specifieke kolom. Dit maakt het makkelijker om snel de juiste informatie te vinden, zoals bewoners met een bepaalde status of kamers op volgorde van ID.
In de 28 dagen regeling update tabel niet na zoeken
Gemeld door: John
Zoek functie werkt nu het zelfde als bij persoonsbeheer
Medewerkers toevoegen
Gemeld door: William
In het hoofddashboard is er een speciale functie toegevoegd voor het hoofd van de beveiliging. Hiermee kunnen nieuwe beveiligers worden toegevoegd en kan de welkomstmail worden verzonden. Daarnaast is het mogelijk om de tweefactorauthenticatie (2FA) voor hen in te stellen, zodat de beveiliging van hun accounts direct goed geregeld is.
Versnellen van het zoeken
Gemeld door: William
Het kameroverzicht en persoonsoverzicht laden nu niet langer alle resultaten in één keer, maar in blokken. Gegevens die buiten het zicht vallen, worden pas ingeladen zodra je ernaartoe scrollt. Dit zorgt voor betere prestaties en een snellere laadtijd.
Daarnaast is de zoekfunctie direct beschikbaar, zonder wachttijd, zodat je meteen kunt zoeken.
Filters en zoekopdrachten worden na het doorklikken opgeslagen in de URL. Hierdoor kun je eenvoudig terugkeren naar de vorige pagina met dezelfde zoekinstellingen, zonder alles opnieuw in te voeren.
Sleutels
Gemeld door: Fred
De sleutels moeten nog worden geïmporteerd. Na de import is het mogelijk om per bewoner te zien hoeveel sleutels er zijn uitgegeven. Dit zorgt voor een beter overzicht en maakt sleutelbeheer efficiënter.
28 dagen regeling is incompleet
Gemeld door: John, Irmgrard,
Door twee systemen is de data verward geraakt en door elkaar komen te staan. We hebben een migratie voorbereid om alles correct samen te voegen. De verwachting is dat aan het einde van de week alles weer klopt en de gegevens correct zijn.
Overig
Verder zijn er nog enkele grammaticale verbeteringen doorgevoerd en hebben we kleine quality-of-life verbeteringen aangebracht om de gebruikservaring te verbeteren.
Oplevering 18-02-2025
Fotos tonen na een tijdje niet meer goed / Het laden van foto’s duurt veel te lang.en deze geoptimaliseerd en enkele aanpassingen gedaan om de fouten te verhelpen. Het blijft echter lastig om dit volledig te testen. Mocht het probleem opnieuw optreden, meld het dan direct via het feedbackformulier, dan lossen we het zo snel mogelijk op.
*Uitloggen / activiteits duur / uitlog na updates*
gemeld door: William
Je wordt nu minder vaak uitgelogd; de sessieduur is verlengd naar 12 uur. Wanneer er een update beschikbaar is, krijg je een melding om de website te verversen. Dit voorkomt fouten en geforceerde logouts. We overleggen nog hoe we de praktische kant het beste kunnen combineren met de veiligheid. Daarnaast hebben we enkele bugs gevonden die ervoor zorgden dat automatisch uitloggen te vroeg plaatsvond.
*In kamerbeheer op peroon id de kamer vinden*
Gemeld door: William,
In het kamerbeheer kun je nu ook zoeken naar bewoners op naam of persoons-ID.
*Het sorteren van kamers en bewoners op naam en nummer*
Gemeld door: bulte@dekabath.nl
In het kameroverzicht en het persoonsoverzicht is het nu mogelijk om gegevens te sorteren. Wanneer je op de kolomtitel klikt (bijvoorbeeld ID, naam, status, etc.), wordt de lijst gesorteerd op die specifieke kolom. Dit maakt het makkelijker om snel de juiste informatie te vinden, zoals bewoners met een bepaalde status of kamers op volgorde van ID.
*In de 28 dagen regeling update tabel niet na zoeken*
Gemeld door: John
Zoek functie werkt nu het zelfde als bij persoonsbeheer
*Medewerkers toevoegen*
Gemeld door: William
In het hoofddashboard is er een speciale functie toegevoegd voor het hoofd van de beveiliging. Hiermee kunnen nieuwe beveiligers worden toegevoegd en kan de welkomstmail worden verzonden. Daarnaast is het mogelijk om de tweefactorauthenticatie (2FA) voor hen in te stellen, zodat de beveiliging van hun accounts direct goed geregeld is.
*Versnellen van het zoeken*
Gemeld door: William
Het kameroverzicht en persoonsoverzicht laden nu niet langer alle resultaten in één keer, maar in blokken. Gegevens die buiten het zicht vallen, worden pas ingeladen zodra je ernaartoe scrollt. Dit zorgt voor betere prestaties en een snellere laadtijd.
Daarnaast is de zoekfunctie direct beschikbaar, zonder wachttijd, zodat je meteen kunt zoeken.
Filters en zoekopdrachten worden na het doorklikken opgeslagen in de URL. Hierdoor kun je eenvoudig terugkeren naar de vorige pagina met dezelfde zoekinstellingen, zonder alles opnieuw in te voeren.
*Sleutels*
Gemeld door: Fred
De sleutels moeten nog worden geïmporteerd. Na de import is het mogelijk om per bewoner te zien hoeveel sleutels er zijn uitgegeven. Dit zorgt voor een beter overzicht en maakt sleutelbeheer efficiënter.
*28 dagen regeling is incompleet*
Gemeld door: John, Irmgrard,
Door twee systemen is de data verward geraakt en door elkaar komen te staan. We hebben een migratie voorbereid om alles correct samen te voegen. De verwachting is dat aan het einde van de week alles weer klopt en de gegevens correct zijn.
*Overig*
Verder zijn er nog enkele grammaticale verbeteringen doorgevoerd en hebben we kleine quality-of-life verbeteringen aangebracht om de gebruikservaring te verbeteren.
Oplevering 24-02-2025
Beheer van reparatieverzoeken
Reparatieverzoeken worden nu beheerd in Mandare. We verwachten de migratie deze week af te ronden, inclusief het updaten van de QR-codes naar het nieuwe systeem. Facility kan de status bijwerken en de voortgang van taken monitoren.
Absentieverzoeken nu in Mandare
Ook absentieverzoeken worden voortaan in Mandare beheerd. De migratie hiervan wordt naar verwachting deze week afgerond.
Visuele verbeteringen
Hier en daar zijn nieuwe kleurtinten toegevoegd voor een frissere uitstraling.
Analytics zijn nu per groep onderverdeeld, wat zorgt voor meer overzicht.
28-dagenregeling
Er is nu een speciale detailpagina voor personen op de 28-dagenlijst.
Toegangslog-items die onder deze regeling vallen, kunnen naast de absentieverzoeken worden bekeken voor een betere vergelijking.
Kleine verbeteringen & bugfixes
Grammaticale fouten gecorrigeerd.
Kleine bugs verholpen.
Diverse quality-of-life verbeteringen doorgevoerd.
Oplevering 10-03-2025
Toegang tot passen en sleutels
Woon begeleiders kunnen nu uitgegeven sleutels en passen inzien
Aanpassingen in weergaves
Sommige benamingen zijn aangepast.
Meeste statussen hebben nu kleur gekregen
Check in/out meer info in de titel tonen
Kamer nummer en persoon naam worden nu bij de check in/out title weergegeven
Aangepaste linkjes
Door een admin kunnen nu aangepaste linkjes in het menu toegevoegd worden
Nieuwe column in kamerbeheer
Kamer groote en aantal plekken beschikbaar worden in het overzicht weergegeven
Inzien van leeftijd
De beveiliging kan nu de leeftijd inzien van degene die in/uit checktet
Aandachtslijst
De woonbegeleiders en de locatie manager hebben nu een aandachtslijst.
Hierin kan gefilterd worden op bewoners die een aantal dagen geen activiet hebben
Check in/out knoppen zijn actief op basis van persoon status
Wanneer een persoon al op afwezig staat kan je nu niet weer opnieuw de persoon op afwezig zetten en versevisa
28 dagen regeling sortering
In de 28 dagen overzicht kan je nu sorteren op het aantal dagen afwezig
Rechten tot inzien reparatie verzoeken
Hoofd van beveiliging kan nu alle reparatie verzoeken inzien
Algemene meldingen
Naast reparatie verzoeken en absentie verzoeken kunnen er in het systeem ook algemene meldingen gemaakt worden. Deze zijn door de woonbegeleiders en locatie manager te beheren en in te zien
Iedereen kan een melding inschieten
Alle gebruikers van Mandare kunnen een reparatie verzoek of algemene melding maken
Generatie van kamer nummers
De locatie ID wordt nu niet meer meegenomen in de kamers (O.A.1.12 is nu A.1.12 bijvoorbeeld)
Sortering persoonsbeheer
Nu kan er op basis van kamer in persoonsbeheer gesorteerd worden
Leeftijdsfilter
Iedereen die recht heeft om de geboorte datum in te kunnen zien kan nu op leeftijd filteren
Kleine verbeteringen & bugfixes
Grammaticale fouten gecorrigeerd.
Kleine bugs verholpen.
Logo aangepast en login banner.
Diverse quality-of-life verbeteringen doorgevoerd.
Oplevering 27-03-2025
28 dagen regeling die soms niet goed ging
Er kan nu een hercalculatie per persoon uitgevoerd worden. Wanneer je vanuit de 28dagen regeling een persoon opent heb je nu een knop op een herberekening uit tevoeren.
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-21555)
Gasten en bewoner registratie – niet verplichten van email en telefoon
In het registratie formulier zijn deze velden niet meer verplicht en is het selecteren van een persoon bij de gasten ook verbeterd
In de Persoon detail worden nu ook de gesloten meldingen direct weergegeven
Om de volledige history
Meldingen kunnen nu direct vanuit persoon detail gedaan worden
Eerste stap om de persoon dossies beter beheerbaar te maken
Layout voor Checkin/out is verbeterd en laten nu ook meldingen zien
Gasten en bewoners die inchecken kunnen straks algemene meldingen hebben. Wanneer wordt iemand verwacht, bijzonderheden of wat moet er gebeuren als die persoon aankomt etc.
Kleine verbeteringen & bugfixes
Kleine bugs verholpen.
Diverse quality-of-life verbeteringen doorgevoerd.
Oplevering 14-04-2025
Core updates & stabiliteit
Diverse technische verbeteringen zijn doorgevoerd om de algemene stabiliteit van het systeem te vergroten.
Verbeterde kamerinformatie bij verplaatsingen
Wanneer een persoon wordt overgeplaatst naar een andere kamer, wordt nu ook de vorige kamer correct bijgewerkt. Dit voorkomt dubbele toewijzingen of foutieve informatie.
Locatiemanager kan medewerkers inzien
De locatiemanager heeft nu volledig inzicht in alle medewerkers binnen de locatie.
Beheer van kamers uitgebreid
Locatiemanagers en woonbegeleiders kunnen nu kamers aanmaken en bewerken.
Aanpassingen aan kamers worden bijgehouden in een wijzigingsgeschiedenis (audit trail), inclusief wie de wijziging heeft gedaan.
Verbeterde dataweergaves en labels
Labels, teksten en uitleg zijn aangepast voor meer duidelijkheid. Ook zijn diverse grammaticale fouten gecorrigeerd.
Beheer van profielfoto’s
Profielfoto’s van personen kunnen nu geüpdatet worden door locatiemanagers en woonbegeleiders.
Weergave leeftijd bij 0 jaar gefixt
De leeftijd van personen die net geboren zijn (0 jaar) wordt nu correct weergegeven.
Verbeterde navigatie en snellere toegang tot functies
Quick actions zijn toegevoegd op diverse pagina’s, zodat je sneller kunt navigeren tussen gerelateerde onderdelen.
Beheer van personen uitgebreid
Locatiemanagers en woonbegeleiders kunnen nu zelfstandig personen aanmaken en bewerken.
Gebruiksvriendelijkere foutmeldingen bij QR-scans
Bij een foutieve QR-code wordt nu een duidelijke en begrijpelijke foutmelding getoond.
Bezoekersbeheer uitgebreid met organisaties
Bezoekers kunnen nu gekoppeld worden aan een organisatie.
Daarnaast kunnen locatiemanagers nu ook nieuwe organisaties aanmaken.
Personen-ID automatisch gegenereerd
Bij het aanmaken van nieuwe personen wordt het persoons-ID nu automatisch gegenereerd met een opvolgend nummer. Handmatig aanpassen blijft mogelijk.
Bezoeken plannen in Mandare
Naast het registreren van bezoekers is het nu mogelijk om bezoeken vooraf in te plannen. Dit helpt bij het structureren van de dagplanning.
Agendaweergave van verwachte gasten en bezoeken
Er is een overzicht beschikbaar van alle verwachte gasten, inclusief een maandelijkse agendaweergave van geplande bezoeken.
Type persoon zichtbaar bij Check-in/out en detailpagina’s
Het type persoon (bijv. bewoner, gast, medewerker) wordt nu prominent weergegeven bovenin het scherm.
Check-in/out uitgebreid met filters
Check-ins en check-outs kunnen nu gefilterd worden op basis van type persoon.
Vanuit gastenbeheer en bezoekersbeheer kan direct worden doorgelinkt naar de bijbehorende check-in/out-pagina.
Formulieren voor absentie- en reparatieverzoeken beschikbaar
Absentie- en reparatieverzoeken kunnen nu direct via Mandare worden ingediend via de volgende formulieren:
/forms/repair-request
/forms/absence-request
Overig
Niet-gebruikte velden zijn verwijderd voor een schonere interface.
Diverse kleine quality-of-life verbeteringen zijn doorgevoerd om de gebruikservaring te optimaliseren.
Overleg 22-04-25
Overmaze
Import doen
Organisatie verlden niet verplicht maken
bezoeker
Stadt spel fout
Organisatie alle velden niet verplicht maken (naam)
Stein
Algemene meldingen zijn niet meer zichtbaar op persoons beheer
doorontwikkeling
Sprint 6
Dagbezoekers → title auto genereren aan de hand van persoon
Persoon toevoegen
id & afwezigheid geen waarde in dit scherm
bezoekers beheer
Iedereen behalve bewoners
Org tonen wanneer beschikbaar
Oplevering 29-04-25
Wat is er nieuw
Systeem snelheid verbeteringen
Systeem updates
Documenten module voor personen
Toevoeging van Locatie filter in persoon beheer
Toevoeging van locatie filter in dashboard
Toevoeging van statistieken van totale kamer capaciteit
Kleine verbeteringen in responsieve kleiner scherm
Gelinkte kamer toont nu ook op welke de locatie de kamer is
Toevoeging van bewoner meldplicht module
Toevoeging van knoppen om snell naar bewoner meldplicht of naar bewoner dossier te kunnen gaan
Kleine bug fixes en gramatie foutjes
Toevoeging van Kamer reserveringen
Stats
Features: 54
Aanpasssingen: 16
Bug fixes: 11
Updates: 4
Commits: 101
Changelog
8b1d0f7 feat(roomReservations): Implement views
43fa5e4 feat(cancelEventDialog): Add
14a6bc7 feat(sumbitForm): Add support for room reservation
ddd6ea1 feat(calenderEventSubmit): Make it posible to set time
950aee4 tweak(calenderProvider): Give createdBy back
0fb8c58 fix(test): Tweak value for vlacky test
f151979 feat(calenderProcessor): Handle label & add method to get createdBy
5de33e4 fix(input): Add styling for the time calender component
6f14da2 feat(featureToggles): Add toggle for room reservations
a9351f2 feat(calender): Test and change access for the room reservations
e033262 feat(calender): Add fields and type for roomReservations
48eea9f cleanup
0e0c368 feat(roomSeed): Add prop for reservations posible
9d615e5 feat(Calender): Add endpoint to cancel event
fd7a06f tweak(PayloadUI): Make user email field work better on create
f0993a3 feat(singleCalenderProvider): Add
023a54c fix(rooms): Allow rooms with 0 capacity
41c76eb tweak(calender): Give createdBy back with 0 depth by default
e84adf7 feat(calenderViewDayWeek): Impement cancel button
420907f deps: Downgrade to payload version where login/email edit works
4b8110a feat(selectOneRoom): Allow for full table and filter overwrites
a3de4fe feat(rooms): Add fields to mark it posible for reservations
b0d2f14 feat(createCalenderEventPopup): Add option for description
fff7877 cleanup
25c7721 tweak(reportingObligationForm): Close selectone direct after select
3514df4 feat(roomsComponents): Add options to hide certain coloms and actions
15a4856 feat(calenderProvider): Add option to filter on room
c9ad12a fix(calenderViewDayWeek): Show day label correct
4a36699 fix: typing issue
d2f9b1c fix(calenderViewDayWeek): Not showing day overlaps correctly
d1d6c8d feat(calenderViewDayWeek): Allow event over multiple days
3c75ea0 feat(calenderViewDayWeek): Allow multiple events on same time
7e98056 feat: Add calender week view
f256b7c refactor(calenderView): Change month view from name
a985f0c feat(personGeneralInfo): Include reportingObligation enabeld
f49dc6c feat(obligationReport): Add detail page
d1eef74 Update reportingObligationForm.svelte
aa08da7 tweak(personSeed): Include dateOfExpected in obligatie raport
327f517 tweak(Person): Hide obligation history in populate
9bdb150 tweak(Person): Add obligationHistoryHook to person
4325ca2 cleanup
327906d Delete checkInOutLink.svelte
7372ce2 fix(ReportingObligationForm): Link lockedPerson state
a0edada feat(personDetails): Upgrade the quick actions
e154f62 test: Fix flaky test
a65348d feat(ui): Make dateInput link isoString when updating
15a038d fix: Update payload types
30d8a4d feat(person): Add reproting obligation in edit history
a5e3eb9 feat(person): Handle reporting obligation history
7c860a7 feat(person): Include expected date in reporting obligation history
1296227 test(featureToggles): Include reportingObligation
cfda0aa refactor(personDetail): Make a component of the checkoutin link
786657a feat(reportingObligation): Add overview layout & update nav
0de505c feat(personEditPopups): Add update dialog for reporting obligation
05611e0 feat(personsProvider/Table): Add reproting date as filter and display option
42229e9 feat(personTable): Include inifity loader inside the table
89b1fc5 feat(personFilter): Add option for filter snippet
7958290 feat(seed): Seed report obligation with data
ca6adb9 feat(toggles): Add toggle for residentReportingObligations
c96b985 feat(Person): Add reporting obligation fields
91535f0 test: Set retry if it fails
944bbbd test: Upgrade timeout time against flacky tests
e79a13e deps(upgrade): Add mongose and upgrade pnpm
5aed261 fix(analtyicsCapacity): Location filter was not working
d2dc505 feat(dashboard): Add analytics for the capacity
97b7907 tweak(featureToggleTest): Also give feature name when test fails
3781158 tweak(personSeed): Allow an room ID as input
3bbacf7 feat(dashboard): Posibility to filter based on location
c007a57 feat(analyticsEndpoint): Posible to filter on location on some data points
0845987 feat(analytics): Add new data points & refactor snippet to component
3a2b48d refactor(analytics): Make it better readable and maintable
dcb0a9d feat(analtyics): Add counts for resident types
76fc451 feat(personFilters): Add option to filter per location
6db7c45 feat(locations): Add component to filterSelect a location
93b6575 cleanup(organisationProvider): errors msgs and unused vars
b3b1949 feat: Add location provider
92fea0c feat(personsProvider): Function to filter per location
0e4edc4 tweak: Hide history of person and room in defaultPopulate
d1a214e feat(personDetail): Show location name of room
976c619 tweak(personFilter): Make better responsive
4630014 cleanup: unused fields
7145dcd refactor(departments): Remove posibility for recusive parrent child
89a7f98 tweak(sentry): Follow deprication warning
10d09c7 feat(documents): Add option to edit access
8d44693 feat(personDetail): Add document overview card
0521bcc feat(singlePersonProvider): Setup document provider wrapper
707d250 tweak(roomsProvider): Add ts hint to script block
c503d05 feat(documents): Add base elements for documents
6e4be8d feat(documents): Add tests
baa1a3b feat(seed): Add documents to seed
3db5782 feat(featureToggles): Add documents
3e6ac34 feat(featureToggles): Add documents
9734766 refactor(Constants): Use optionObject for option consts
ffab7f5 deps: Upgrade backend
d6f30a4 tweak: Ignore files in document dir
f1eb18d tweak(providers): Make debounce faster
935cbf1 fix(frondend): Add ts hint to script block in provider
7454ff7 deps: Upgrade pnpm
User roles en access police
Bekijk ook:
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12495)
Administrator
De administrator gebruikersrol in je applicatie is bedoeld voor gebruikers die volledige toegang en controle hebben over het systeem. Deze rol heeft dus de bevoegdheid om alle aspecten van de applicatie te beheren en aan te passen.
Beveiliging
De Beveiliging gebruikersrol in de applicatie is bedoeld voor gebruikers die toezicht houden op de veiligheid en de status van bewoners en kamers in het gebouw. Ze kunnen bij de protier of receptie zitten en registreren de toegang wie het pand binnen komt en wie het pand verlaat.
Toegangs scope
Kamerbeheer: Inzage in de huidige status van alle kamers
Scope:
Alle kamers waar bewoners in zitten
Toegang tot:
Kamer status
Personen limit
Kamer ID
Gekoppelde Afdeeling(en)
Bewoners (met scope van personenbeheer)
Toegangs log: Het kunnen dubbel checken van historie
Scope
Aangemaakt in de laatste 3 dagen
Toegang tot
Hele object
Persoonsbeheer: Inzien van alle actieve personen en of ze in het gebouw aanwezig zijn. Voor overzicht veiligheid en informatie ontruiming.
Scope:
Alle bewoners die niet uitgeschreven zijn
Alle medewerkers die aanwezig zijn (exclusief zichzelf)
Alle medewerkers die minder dan 180 dagen niet aanwezig zijn geweest (exclusief zichzelf)
Alle bezoekers
Alle gasten
Toegang tot:
Database ID
Algemene informatie
Voor naam
Tussenvoegsel
achternaam
Contact info
Email
Telefoon
Status
Laatst aanwezig datum
Persoon ID
Type
Gelinkte toegang logs
Profiel Foto
Bewoner info
gelinkte kamer
Contact relaties (familie, gasten, bezoekers)
Bewoner status
Bezoeker info
Bezoekt (gelinkte persoon)
Aankomst datum
Vertrek datum
Gast info
Is gast voor (gelinkte persoon)
Aankomst datum
Vertrek datum
Gelinkte kamer
Medewerker info
Gelinkte platform gebruiker (optioneel)
Gelinkte organisatie
Laatst geüpdate datum
aanmaak datum
Kamerbeheer: Het inzien van een status van de kamer voor beveiliging
Scope:
Alle kamers met bewoners
Toegang tot:
Database ID
Personen limit
Bewoners (relatie met personen)
Gekoppelde afdeling
Kamer ID
Oppervlakte in m2
Is familie kamer
info
Status
‘Free’ | ‘Partially Occupied’ | ‘Occupied’ | ‘OverOccupied’;
Beschikbare ruimte
Laatst geüpdatet datum
aanmaak datum
Algemene analytics: Anonieme statistieken van de locatie voor overzicht
Scope & toegang
Opsomming aanwezige bewoners
Opsomming actieve bewoners
Opsomming aanwezige medewerkers
Opsomming aanwezige gasten
Opsomming aanwezige bezoekers
Beveiliging – Hoofd
De Beveiliging Hoofd gebruikersrol in de applicatie is ontworpen voor een leidinggevende binnen het beveiligingsteam met uitgebreide bevoegdheden. Deze rol combineert toezichtstaken met een aantal administratieve bevoegdheden die van belang zijn voor het beheer en de controle van bewoners en gasten.
Toegangs scope
Kamerbeheer: Inzage in de huidige status van alle kamers
Scope:
Alle kamers waar bewoners in zitten
Toegang tot:
Kamer status
Personen limit
Kamer ID
Gekoppelde Afdeeling(en)
Bewoners (met scope van personenbeheer)
Toegangs log: Het kunnen dubbel checken van security medewerkers
Scope
Aangemaakt in de laatste 10 dagen
Toegang tot
Hele object
Persoonsbeheer: Inzien van alle actieve personen en of ze in het gebouw aanwezig zijn. Voor overzicht veiligheid en informatie ontruiming.
Scope:
Alle bewoners die niet uitgeschreven zijn
Alle medewerkers die aanwezig zijn (exclusief zichzelf)
Alle medewerkers die minder dan 180 dagen niet aanwezig zijn geweest (exclusief zichzelf)
Alle bezoekers
Alle gasten
Toegang tot:
Database ID
Algemene informatie
Voor naam
Tussenvoegsel
achternaam
gender (man, vrouw, anders)
Geboorte datum
Display name
Contact info
Email
Telefoon
Status
‘present’ | ‘absent’ | ‘departed’ | ‘expected’
Laatst aanwezig datum
Persoon ID
Type
resident’ | ‘visitor’ | ‘guest’ | ‘employee’ | ‘potential_resident’
Gelinkte toegang logs
Profiel Foto
Bewoner info
gelinkte kamer
Contact relaties (familie, gasten, bezoekers)
Bewoner status
Bezoeker info
Bezoekt (gelinkte persoon)
Aankomst datum
Vertrek datum
Gast info
Is gast voor (gelinkte persoon)
Aankomst datum
Vertrek datum
Gelinkte kamer
Medewerker info
Gelinkte platform gebruiker (optioneel)
Gelinkte organisatie
Laatst geüpdatet datum
Aanmaak datum
Kamerbeheer: Het inzien van een status van de kamer voor beveiliging
Scope:
Alle kamers met bewoners
Toegang tot:
Database ID
Personen limit
Bewoners (relatie met personen)
Gekoppelde afdeling
Kamer ID
Oppervlakte in m2
Is familie kamer
info
Status
‘Free’ | ‘Partially Occupied’ | ‘Occupied’ | ‘OverOccupied’;
Beschikbare ruimte
Laatst geüpdatet datum
aanmaak datum
Algemene analytics: Anonieme statistieken van de locatie voor overzicht
Scope & toegang
Opsomming aanwezige bewoners
Opsomming actieve bewoners
Opsomming aandachtsbewoners
Opsomming aanwezige medewerkers
Opsomming aanwezige gasten
Opsomming aanwezige bezoekers
Opsomming kamers bezet
Opsomming kamers vrij
Opsomming kamers
Woonbegeleider
De Woonbegeleider gebruikersrol in de applicatie is bedoeld voor medewerkers die ondersteuning bieden aan bewoners en verantwoordelijk zijn voor de administratieve afhandeling van aanvragen en registratie. Deze rol is gericht op het ondersteunen van bewoners en het beheren van hun registratie, bezoek en begeleiding.
Toegangs scope
Kamerbeheer: Inzage in de huidige status van alle kamers
Scope:
Alle kamers
Toegang tot:
Kamer status
Personen limit
Kamer ID
Gekoppelde Afdeeling(en)
Bewoners (met scope van personenbeheer)
Toegangslog: Advies of inzien van patronen voor persoonlijke begeleiding
Scope
Aangemaakt in de laatste 30 dagen
Toegang tot
Hele object
Persoonsbeheer: Inzien van alle actieve personen en of ze in het gebouw aanwezig zijn. Voor overzicht veiligheid en informatie ontruiming.
Scope:
Alle bewoners die niet uitgeschreven zijn
Alle bewoners die uitgeschreven zijn binnen 90 dagen
Alle bezoekers met bewoner als doel
Alle gasten
Toegang tot:
Database ID
Algemene informatie
Voor naam
Tussenvoegsel
achternaam
gender (man, vrouw, anders)
Geboortedatum
Display name
Contact info
Email
Telefoon
Status
Laatst aanwezig datum
Persoon ID
Type
Gelinkte toegang logs
Profiel Foto
Bewoner info
gelinkte kamer
Contact relaties (familie, gasten, bezoekers)
Bewoner status
Bezoeker info
Bezoekt (gelinkte persoon)
Aankomst datum
Vertrek datum
Gast info
Is gast voor (gelinkte persoon)
Aankomst datum
Vertrek datum
Gelinkte kamer
Bewoner in aanvraag info
Document nummer (id kaart of paspoort)
aankomst datum
afgehandeld door (platform gebruiker)
Gekoppelde woonbegeleider (platform gebruiker)
Laatst geüpdatet datum
aanmaak datum
Kamerbeheer: Het inzien van een status van de kamer voor begeleiding
Scope:
Alle kamers
Toegang tot:
Database ID
Personen limit
Bewoners (relatie met personen)
Gekoppelde afdeling
Kamer ID
Oppervlakte in m2
Is familie kamer
info
Status
‘Free’ | ‘Partially Occupied’ | ‘Occupied’ | ‘OverOccupied’;
Beschikbare ruimte
Laatst geüpdatet datum
aanmaak datum
Persoonsbeheer: Inzien van personen en hun gegeven om de personen te kunnen vinden die ze begeleiden.
Scope:
Alle bewoners die niet uitgeschreven zijn meer dan 90 dagen ➝ notDepartedResidentsWithin90Days
Alle bewoners in aanvraag ➝ potentialResidents
Alle gasten die binnen nu en 30 dagen verwacht worden ➝ expectedGuestsWithin30Days
Alle gasten die aanwezig zijn ➝ presentGuests
Alle gasten die korter dan 7 dagen op afwezig zijn gezet ➝ guestsLeftWithin7Days
Alle bezoekers die verwacht worden en gekoppeld zijn aan een bewoner
Alle bezoekers die gekoppeld aan een bewoner zijn
Toegang tot:
Naam
Tussenvoegsel
Achternaam
Aanwezigheidsstatus
Persoon type
Gelinkte kamer ID
Onderdeel van aandachtsgroep
Persoonsbeheer detail: Basisinformatie over een persoon kunnen inzien om met informatie de persoon te kunnen begeleiden.
Scope:
Individueel persoon type bewoner
Individueel persoon type bezoeker
Individueel persoon type gast
Toegang tot:
Naam
Tussenvoegsel
Achternaam
Aanwezigheidsstatus
Persoon type
Persoon ID
geboorte datum
gender
Gelinkte kamer
Email
Telefoon
Contactrelaties persoon
Naam
Tussenvoegsel
Achternaam
Aanwezigheidsstatus
geboorte datum
gender
Pas foto
Gelinkte kamer
Aanwezigheidslog (laatste 30 dagen)
Algemene analytics: Anonieme statistieken van de locatie voor overzicht
Scope & toegang
Opsomming actieve bewoners
Opsomming aandachts bewoners
Opsomming aanwezige gasten
Opsomming aanwezige bezoekers
Opsomming kamers bezet
Opsomming kamers vrij
Opsomming kamers
Locatie Manager
De locatie manager gebruikersrol in de applicatie is bedoeld voor medewerkers van de gemeente die betrokken zijn bij het verwerken van bewonersinformatie. Deze rol is beperkt tot administratieve taken die samenhangen met het verifiëren en afhandelen van bewonersregistraties in samenwerking met de gemeentelijke administratie.
Toegangs scope
Kamerbeheer: Inzage in de huidige status van alle kamers
Scope:
Alle kamers
Toegang tot:
Kamer status
Personen limit
Kamer ID
Gekoppelde Afdeeling(en)
Bewoners (met scope van personenbeheer)
Toegangslog: Overzicht kunnen houden op bewoners en support kunnen geven aan medewerkers
Scope
Aangemaakt in de laatste 10 dagen
Is gebruikt in de 28 dagen regeling calculatie
Toegang tot
Hele object
Persoonsbeheer: Inzien van alle actieve personen en of ze in het gebouw aanwezig zijn. Voor overzicht veiligheid en informatie ontruiming.
Scope:
Alle bewoners die niet uitgeschreven zijn
Alle bezoekers die aanwezig zijn
Alle gasten die aanwezig zijn
Alle bewoner in aanvraag
Toegang tot:
Database ID
Algemene informatie
Voor naam
Tussenvoegsel
achternaam
gender (man, vrouw, anders)
Geboorte datum
Display name
Contact info
Email
Telefoon
Status
Laatst aanwezig datum
Persoon ID
Type
Gelinkte toegang logs
Profiel Foto
Bewoner info
gelinkte kamer
Contact relaties (familie, gasten, bezoekers)
Bewoner status
(‘departed’ | ‘expected’ | ‘active’
Bezoeker info
Bezoekt (gelinkte persoon)
Aankomst datum
Vertrek datum
Gast info
Is gast voor (gelinkte persoon)
Aankomst datum
Vertrek datum
Gelinkte kamer
Medewerker info
Gelinkte platform gebruiker (optioneel)
Gelinkte organisatie
Bewoner in aanvraag info
Document nummer (id kaart of paspoort)
aankomst datum
afgehandeld door (platform gebruiker)
Gekoppelde woonbegeleider (platform gebruiker)
Laatst geüpdatet datum
aanmaak datum
Kamerbeheer: Het inzien van een status van de kamer voor het overzicht en indeling.
Scope:
Alle kamers
Toegang tot:
Database ID
Personen limit
Bewoners (relatie met personen)
Gekoppelde afdeling
Kamer ID
Oppervlakte in m2
Is familie kamer
info
Status
‘Free’ | ‘Partially Occupied’ | ‘Occupied’ | ‘OverOccupied’;
Beschikbare ruimte
Laatst geüpdatet datum
aanmaak datum
Persoonsbeheer: Inzien van personen en hun gegeven om de personen te kunnen vinden die ze begeleiden.
Scope:
Alle bewoners die nog niet uitgeschreven zijn
Alle bewoners die niet uitgeschreven zijn meer dan 90 dagen
Alle bewoners in aanvraag
Alle bezoekers die korter dan 180 dagen op afwezig zijn gezet
Alle gasten die binnen nu en 30 dagen verwacht worden
Alle gasten die aanwezig zijn
Alle gasten die korter dan 7 dagen op afwezig zijn gezet
Alle bezoekers die binnen nu en 30 dagen verwacht worden
Alle bezoekers die aanwezig zijn
Toegang tot:
Naam
Tussenvoegsel
Achternaam
Aanwezigheidsstatus
Persoon type
Gelinkte kamer ID
Onderdeel van aandachtsgroep
Persoonsbeheer detail: Basisinformatie over een persoon kunnen inzien om met informatie de persoon te kunnen begeleiden.
Scope:
Individueel persoon type bewoner
Individueel persoon type bezoeker
Individueel persoon type gast
Toegang tot:
Naam
Tussenvoegsel
Achternaam
Aanwezigheidsstatus
Persoon type
Persoon ID
geboorte datum
gender
Gelinkte kamer
Email
Telefoon
Contactrelaties persoon
Naam
Tussenvoegsel
Achternaam
Aanwezigheidsstatus
geboorte datum
gender
Pas foto
Gelinkte kamer
Toegangslog: …
Scope
Aangemaakt in de laatste 10 dagen
Toegang tot
Hele object
Algemene analytics: Anonieme statistieken van de locatie voor overzicht
Scope & toegang
Opsomming aanwezige bewoners
Opsomming actieve bewoners
Opsomming aandachts bewoners
Opsomming aanwezige medewerkers
Opsomming aanwezige gasten
Opsomming aanwezige bezoekers
Opsomming kamers bezet
Opsomming kamers vrij
Opsomming kamers
Facilitair medewerker
De Facilitair Medewerker gebruikersrol in de applicatie is bedoeld voor het beheren van toegangspassen en het ondersteunen van facilitaire processen. Deze rol richt zich op het beheren en ondersteunen van de fysieke toegang tot het gebouw en zorgt dat bewoners en bezoekers veilig en efficiënt toegang hebben.
Toegangs scope
Kamerbeheer: Inzage in de huidige status van alle kamers
Scope:
Alle kamers
Toegang tot:
Kamer status
Personen limit
Kamer ID
Gekoppelde Afdeeling(en)
Bewoners (met scope van personenbeheer)
Persoonsbeheer: Inzien van alle actieve personen en of ze in het gebouw aanwezig zijn. Voor overzicht veiligheid en informatie ontruiming.
Scope:
Alle bewoners die een koppeling hebben met een kamer
Toegang tot:
Database ID
Contact info
Email
Telefoon
Status
Laatst aanwezig datum
Persoon ID
Type
Gelinkte toegangspas
Gelinkte toegang logs
Profiel Foto
Bewoner info
gelinkte kamer
Laatst geüpdatet datum
aanmaak datum
Kamerbeheer: Het inzien van een status van de kamer voor reparatie verzoeken op aanvraag.
Scope:
Alle kamers
Toegang tot:
Database ID
Personen limit
Bewoners (relatie met personen)
Gekoppelde afdeling
Kamer ID
Oppervlakte in m2
Is familie kamer
info
Status
‘Free’ | ‘Partially Occupied’ | ‘Occupied’ | ‘OverOccupied’;
Beschikbare ruimte
Laatst geupdate datum
aanmaak datum
Technische documentatie
Multi tenant setup
In deze Multi-Tenant Setup krijgt elke tenant zijn eigen volledig gescheiden infrastructuur, waarbij de applicatie per tenant wordt opgeschaald. Dit betekent dat elke klant of organisatie een eigen omgeving heeft, compleet met een aparte hosting- en netwerkconfiguratie. Deze benadering biedt extra beveiliging en prestatievoordelen, omdat de data en de applicatie-instellingen van elke tenant fysiek en logisch gescheiden zijn van andere tenants.
Door elke tenant een eigen infrastructuur te geven, wordt gegarandeerd dat er geen risico is op gegevenslekken of interferentie tussen tenants. Bovendien kan de applicatie voor elke tenant afzonderlijk worden geschaald op basis van hun specifieke gebruik en eisen, waardoor de prestaties consistent blijven, zelfs bij groeiende gebruikslast.
Feature toggles
In deze set-up werken we met feature toggles om maximale flexibiliteit en efficiëntie te waarborgen. Hoewel elke tenant zijn eigen infrastructuur heeft, hanteren we één gedeelde codebase. Dit voorkomt het onderhoud van meerdere versies van de applicatie en versnelt het uitrollen van nieuwe functionaliteiten.
Feature toggles stellen ons in staat om functionaliteiten per tenant in- of uit te schakelen, afhankelijk van hun specifieke behoeften. Zo kunnen we nieuwe functies veilig testen en geleidelijk uitrollen zonder impact op andere tenants. Dit verhoogt de efficiëntie in ontwikkeling, minimaliseert risico’s en biedt maatwerk zonder de complexiteit van afzonderlijke codebases.
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15575)
Error logging (Sentry)
Error Logging is een krachtig hulpmiddel binnen de applicatie voor het monitoren en vastleggen van fouten en uitzonderingen die optreden. Met behulp van Sentry kunnen gedetailleerde foutmeldingen en stacktraces automatisch worden verzameld en opgeslagen zodra een fout zich voordoet in de applicatie-interface. Dit stelt ontwikkelaars in staat om snel en efficiënt problemen te identificeren, lokaliseren, en oplossen zonder afhankelijk te zijn van gebruikersmeldingen.
Door integratie met Sentry krijgt het team real-time inzicht in client-side en server-side problemen, inclusief contextuele informatie zoals de gebruikerssessie, browser- en apparaatgegevens, en de specifieke interactie die tot de fout leidde. Deze logging helpt niet alleen bij het verbeteren van de stabiliteit van de applicatie, maar ook bij het optimaliseren van de gebruikerservaring door problemen snel aan te pakken en de oorzaak ervan op te lossen.
Setup
Sentry staat aan wanneer de variabele NEXT_PUBLIC_SENTRY_ENABLED is geconfigureerd naar true. In production en staging mode word deze standaard aangezet.
DSN – (Sentry URL)
Een DSN (Data Source Name) in Sentry is een unieke URL die wordt gebruikt om je applicatie te verbinden met je Sentry-project. Het DSN fungeert als een configuratietoken dat de gegevensstroom van fouten en prestaties naar jouw specifieke Sentry-project beveiligt en identificeert.
Voor de backend en de frontend zijn 2 losse projecten opgezet binnen sentry.
Overmaze:
Frondend
https://e0be34f26b9678efb520cca6ccc03668@o4504588245532672.ingest.us.sentry.io/4508550408503296
Backend
https://b28e846c21c0e3138a4b6e4eb5dc4ca5@o4504588245532672.ingest.us.sentry.io/4508549844369408
Sourcemaps
Een sourcemap upload naar Sentry helpt bij het verbeteren van de foutopsporingsmogelijkheden door gecompileerde of geminificeerde JavaScript-code (zoals vaak wordt gebruikt in productie) te koppelen aan de originele, leesbare broncode. Dit maakt foutmeldingen veel gemakkelijker te begrijpen en op te lossen.
Om dit goed ingesteld te hebben moet de volgende variabele op de server/omgeving ingesteld zijn:
SENTRY_AUTH_TOKEN
Lees hier hoe je een token kan verkrijgen:
https://docs.sentry.io/cli/configuration/
Twee-Factor Authenticatie (2FA) Login
Om de beveiliging van gebruikersaccounts te versterken, ondersteunt de applicatie Twee-Factor Authenticatie (2FA) voor inloggen. Met 2FA is een extra beveiligingslaag vereist, naast de reguliere gebruikersnaam en wachtwoord, om toegang te krijgen tot de applicatie. Deze extra stap biedt een betere bescherming tegen ongeautoriseerde toegang en helpt om gevoelige gegevens veilig te houden.
Voor de 2FA-stap raden we het gebruik van de Google Authenticator-app aan. Gebruikers kunnen eenvoudig de app downloaden en instellen door een QR-code te scannen die in de applicatie wordt gegenereerd. Na het scannen van de QR-code ontvangt de gebruiker unieke, tijdelijke codes die bij elke login moeten worden ingevoerd. Deze codes zijn slechts kort geldig en worden automatisch vernieuwd, waardoor het inloggen voor kwaadwillenden veel moeilijker wordt.
Waarom
2FA biedt cruciale bescherming tegen veelvoorkomende dreigingen, zoals wachtwoorddiefstal en phishingaanvallen. Zelfs als een wachtwoord wordt onderschept of gestolen, is toegang zonder de tijdelijke authenticatiecode onmogelijk. Door 2FA te gebruiken met een betrouwbare app zoals Google Authenticator, verhoogt de applicatie aanzienlijk de veiligheid van alle gebruikersaccounts en de daarin opgeslagen gegevens.
Code repository
Een code repository (of ‘repo’) is een centrale opslagplaats waar alle broncode van een project wordt bewaard en beheerd. Het is vergelijkbaar met een gedeelde map waarin het hele ontwikkelteam kan samenwerken aan dezelfde codebase.
Mandare repo
github.com
https://github.com/teamvolcano/mandare
Database en Media opslag
De applicatie maakt gebruik van MongoDB als database en Digital Ocean spaces S3 voor media-opslag, wat een flexibele en schaalbare setup biedt voor zowel gestructureerde als ongestructureerde gegevens.
MongoDB Database
MongoDB is een NoSQL-database die uitblinkt in het opslaan van gegevens met een losse datastructuur. In plaats van vaste, starre tabellen, slaat MongoDB gegevens op in de vorm van JSON-achtige documenten, wat zorgt voor meer flexibiliteit in de opbouw en het schema. Dit biedt verschillende voordelen:
Flexibiliteit in gegevensstructuur: MongoDB kan snel omgaan met veranderingen in de datastructuur, wat ideaal is voor toepassingen die zich dynamisch ontwikkelen en evolueren.
Hoge prestaties: MongoDB biedt uitstekende prestaties voor lees- en schrijfbewerkingen, wat bijdraagt aan de snelheid en efficiëntie van de applicatie.
Horizontale schaalbaarheid: MongoDB ondersteunt horizontale schaling, wat betekent dat de database gemakkelijk kan groeien door meer servers toe te voegen naarmate de datavolume toeneemt.
Media Opslag
Voor de opslag van mediabestanden zoals afbeeldingen en documenten maakt de applicatie gebruik van Digital Ocean spaces S3 (Simple Storage Service). S3 biedt veilige en schaalbare opslag in de cloud met de volgende voordelen:
Betrouwbaarheid en duurzaamheid: S3 biedt een zeer hoge beschikbaarheid en data-replicatie, waardoor mediabestanden veilig worden opgeslagen en altijd toegankelijk zijn.
Toegangsbeheer: Met behulp van granular access control kan de toegang tot mediabestanden nauwkeurig worden beheerd. Er kunnen specifieke toegangsrechten per gebruiker of per rol worden ingesteld.
Schaalbaarheid: S3 kan vrijwel onbeperkte hoeveelheden data opslaan zonder dat er prestatieverlies optreedt, wat zorgt voor een toekomstbestendige oplossing die gemakkelijk kan meegroeien met de applicatie.
Webstack
Een webstack verwijst naar de combinatie van technologieën die samen een webapplicatie mogelijk maken. Dit omvat meestal de frontend (wat de gebruiker ziet en waarmee hij interacteert), de backend (waar de data wordt verwerkt en opgeslagen), en de serverinfrastructuur die de applicatie host. Op deze pagina vind je een overzicht van de verschillende componenten van een webstack, inclusief frameworks, programmeertalen, databases en andere tools die nodig zijn om een complete webapplicatie te bouwen.
JavaScript/TypeScript
JavaScript en TypeScript vormen de ruggengraat van dit project. JavaScript is een veelzijdige programmeertaal die veel wordt gebruikt voor het bouwen van interactieve en dynamische webapplicaties. TypeScript is een uitbreiding op JavaScript die type-annotaties toevoegt, wat helpt bij het opsporen van fouten en het schrijven van schaalbare code.
In dit project hebben we JavaScript en TypeScript ingezet voor vrijwel alle aspecten van de ontwikkeling. Van de frontend tot de backend, deze talen zorgen ervoor dat onze codebase consistent, efficiënt en onderhoudbaar is. Op deze pagina vind je meer details over hoe en waarom we deze technologieën hebben toegepast.
Frontend
Voor de frontend van dit project maken we gebruik van Svelte, een moderne framework die het bouwen van snelle en efficiënte webapplicaties vereenvoudigt. In plaats van runtime overhead, compileert Svelte de code naar puur JavaScript tijdens de build, wat resulteert in snellere laadtijden en betere prestaties.
We passen zoveel mogelijk het Atomic Design-principe toe, wat betekent dat we de gebruikersinterface opbouwen uit herbruikbare componenten, van kleine elementen zoals knoppen tot grotere structuren zoals complete pagina’s. Dit zorgt voor een consistente, modulaire en gemakkelijk te onderhouden codebase.
https://svelte.dev/
https://kit.svelte.dev/
Server-Side Rendering (SSR) en Single Page Application (SPA)
In dit project combineren we het beste van beide werelden: Server-Side Rendering (SSR) en Single Page Application (SPA). Bij het eerste verzoek genereert de server de HTML van de pagina en stuurt deze naar de client. Dit zorgt voor snellere laadtijden, verbeterde zoekmachineoptimalisatie (SEO), en een betere gebruikerservaring bij de eerste interactie.
Zodra de eerste pagina is geladen, transformeert de applicatie in een SPA. Dit betekent dat verdere navigatie en interacties plaats kunnen vinden zonder volledige pagina herladingen, wat zorgt voor een vloeiende en responsieve gebruikerservaring. Op deze manier profiteren we van de voordelen van zowel SSR als SPA, zoals snelle initiële laadtijden en een dynamische gebruikerservaring.
Backend
Voor de backend van het project is ervoor gekozen om niet het wiel opnieuw uit te vinden, maar gebruik te maken van beproefde en krachtige bouwstenen. Payload speelt hierin een centrale rol. Payload is een modern, open-source backend framework dat ons in staat stelt om snel en efficiënt complexe applicaties te bouwen.
Met Payload CMS kunnen we onder andere:
Content Management System (CMS): Een minimalistische en krachtige editor ervaring creëren die eenvoudig is uit te breiden.
Enterprise App Builder: Geavanceerde bedrijfstools ontwikkelen, terwijl we de ontwikkelingskosten laag houden.
Headless E-commerce
Digital Asset Management: Digitale assets naadloos beheren binnen dezelfde CMS-omgeving, wat zorgt voor merkconsistentie.
Door deze veelzijdigheid kunnen we met Payload vrijwel alles bouwen wat we nodig hebben, van websites tot interne tools. Dit maakt het de perfecte keuze voor ons project, waarbij we zowel snelheid als flexibiliteit hoog in het vaandel hebben staan. Payload stelt ons in staat om een solide basis te leggen voor de backend, zonder dat we concessies hoeven te doen aan functionaliteit of controle.
https://payloadcms.com/
https://payloadcms.com/docs/getting-started/what-is-payload
Email provider
nader te bepalen
Hosting
Hosting verwijst naar de dienst waarbij bedrijven of individuen hun websites en applicaties online beschikbaar stellen door ze op servers op te slaan. Een domein is het adres dat gebruikers intypen om toegang te krijgen tot deze websites. Een cloud provider, zoals DigitalOcean of Cloudflare, biedt virtuele infrastructuur en diensten via het internet, waardoor je schaalbare resources en geavanceerde oplossingen kunt benutten zonder fysieke hardware te beheren. Deze providers faciliteren zaken als app-containers, databases en media-opslag, wat essentieel is voor het efficiënt draaien van moderne digitale toepassingen.
DigitalOcean
De Cloudprovider die gebruikt wordt voor dit project is DigitalOcean, makkelijk in gebruik zonder dat er veel infrastructuur engineering te pas hoeft te komen.
Ook is het erg makkelijk om later te migreren naar een AWS of een Google Cloud.
Cloudflare
Tussen de cloudprovider en de eindgebruiker is cloudflare ingesteld. Cloudflare bied extra tooling en bescherming voor het platform.
De volgende functies worden gebruikt:
DNS-beheer
DDOS-protectie
Web Proxy
Web security
Redirect rules
SSL-certificaten
Database seeding (test data)
Database seeding is het proces waarbij je initiële data in een database laadt, specifiek voor test- en ontwikkeldoeleinden. Dit is vooral handig tijdens het ontwikkelen en testen van applicaties omdat het je voorziet van consistente, voorspelbare testdata.
Enkele belangrijke voordelen van database seeding:
Consistente testomgeving – Alle ontwikkelaars werken met dezelfde dataset
Snelle setup – Je hoeft niet steeds handmatig testdata in te voeren
Reproduceerbare tests – Je tests kunnen vertrouwen op specifieke data die altijd aanwezig is
Realistische data – Je kunt realistische scenario’s nabootsen met representatieve data
Nieuwe omgeving seeden
Zorg er voor dat de omgeving goed ingesteld is en alle packages zijn geïnstalleerd.
Ook ben je terminal toegang nodig tot de applicatie of je draait een development omgeving met remote database.
Run de volgende commands om de seed te starten
cd backend/
pnpm db:seed
Omgeving resetten
Het kan zijn dat je de seed bewerkt of dat je alle test data van de omgeving wilt verwijderen. Dit kan met 1 simple command.
Letop dat alle data verwijderd wordt op alle admin gebruikers na!
cd backend/
pnpm db:clearData
Volg de verdere instructies in de terminal
QR-url naar check in -out
Voor de toegangspassen wordt er een QR-code gegenereerd die bestaat uit een unieke URL in het formaat https://qr.{domein}.tld/{qr-id}. Deze QR-URL bevat een unieke ID (qr-id) die, wanneer de juiste toegangsrechten aanwezig zijn, gekoppeld kan worden aan de gegevens van een specifieke persoon.
Deze opzet is ontworpen om de receptie te ondersteunen bij het efficiënt en snel in- en uitchecken van personen. Door de QR-code te scannen, krijgt de receptie direct toegang tot de relevante informatie, wat het proces vereenvoudigt en versnelt zonder de noodzaak van handmatige gegevensinvoer. Dit systeem draagt bij aan een gestroomlijnde bezoekerservaring en zorgt ervoor dat toegangspassen op een veilige en geautomatiseerde manier worden beheerd.
Het gebruik van een QR-subdomein zorgt er voor dat de QR-code flexibel kan blijven zonder dat passen opnieuw geprint moeten worden. Zo kan bijvoorbeeld aanpassingen gemaakt worden in waar de QR-code terecht kan komen.
Instellen van de redirect
Om een redirect op naar de gebruiker te krijgen moet de link belanden op het endpoint:
https://{platform.domain.tld/api/access-cards/{qrcode}
Via cloudflare kan deze omleiding vaak ingesteld worden.
Overmaze
Domein: https://qr.overmaze.net/
Feature toggle
Om van QR naar persoon omgeleid te worden moet je met een account op het platform ingelogd zijn met de juiste rechten. De rechten worden bepaald door de feature toggle In- en uitchecken
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15575)
Wanneer deze toggle dus uitstaat, werkt de redirect dus ook niet meer.
Status
Let op dat de toegangspas een status van actief moet hebben anders wordt de redirect niet uitgevoerd.
Development setup
Een lokale ontwikkelomgeving stelt ontwikkelaars in staat om op hun eigen computer aan de applicatie te werken. Dit creëert een veilige omgeving waarin ontwikkelaars kunnen experimenteren, wijzigingen kunnen aanbrengen en nieuwe functies kunnen testen zonder de live applicatie of het werk van andere ontwikkelaars te beïnvloeden.
Download de repo
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15435)
Installeer Node.js
Run de volgende command om te kijken of je node al op je systeem hebt geïnstalleerd
node -v
Als het goed is zou hij een versie nummer moeten terugsturen.
Krijg je een error dan heb je node nog niet geïnstalleerd
Installeer pnpm
Als package manager wordt PNPM gebruikt.
run de volgende command om te kijken of je het al op je systeem hebt staan:
pnpm -v
Krijg je een error of geen versie nummer terug, installeer pnpm via de volgende command:
npm install -g pnpm
Installeer alle packages
Run de volgende command om alle packages te installeren
pnpm install
Run de dev
De lokale omgeving start je door
pnpm dev
op: http://localhost:3000 wordt de frontend geserveerd
op: http://localhost:4000 wordt de backoffice geserveerd
Registreren van een admin
Wanneer je nieuw de setup start is je database leeg en dus ook alle admin users.
Run de volgende script om een admin gebruiker voor je omgeving aan te maken.
pnpm db:registerAdmin
Let op! Je database moet wel draaien (bijvoorbeeld dev mode) zodat de gebruiker opgeslagen kan worden.
Automatich testen
Om ervoor te zorgen dat alles goed blijft werken, is het belangrijk om regelmatig te testen. Dit is waar automatische testen een grote rol spelen.
Unit Testen: Dit zijn kleine, gerichte testen die afzonderlijke onderdelen (bijvoorbeeld een functie of een stukje code) controleren. Het is alsof je een enkel tandwiel van een machine test om te zien of het goed werkt.
E2E Testen (End-to-End): Dit zijn uitgebreide testen die het hele systeem controleren, van begin tot eind. Stel je voor dat je een vliegtuig test door de volledige vlucht door te nemen, van opstijgen tot landen.
Met automatische testen zorgen we ervoor dat nieuwe wijzigingen in de software geen onverwachte problemen veroorzaken. Ze besparen tijd en verbeteren de betrouwbaarheid van het product, zodat de gebruiker een soepele ervaring heeft.
Backend – Vitest
Hier zijn enkele kernpunten:
Access Control Verificatie: Onze unit tests dubbelchecken de access control mechanismen, zodat gevoelige functionaliteiten alleen toegankelijk zijn voor de juiste gebruikers.
Database Reset per Test: Bij elke test wordt de database gereset naar een standaard beginstaat. Dit zorgt ervoor dat elke test in een volledig gecontroleerde en voorspelbare omgeving draait.
Belangrijke Logica Bescherming: We richten ons specifiek op het locken van kritieke onderdelen van de applicatie, zoals login en two-factor authenticatie. Deze tests zorgen ervoor dat deze logica robuust blijft onder alle omstandigheden.
Staren van de testen met UI:
cd backend
pnpm test:ui
Starten van de testen zonder UI:
cd backend
pnpm test
Frontend – Playright
Hierbij worden de volgende aspecten behandeld:
Gebruikersrollen Testen: Voor elke gebruikersrol wordt de interface van het platform uitvoerig getest om ervoor te zorgen dat de juiste functionaliteiten en weergaves beschikbaar zijn.
Chromium-gebaseerde Testing: De interface wordt getest in een Chromium-omgeving (een variant van Chrome) om een consistente gebruikerservaring te garanderen.
Functionele en Dataweergave Tests: Onze tests controleren verschillende flows, functies en dataweergave in de frontend om eventuele fouten of inconsistenties op te sporen.
Geïntegreerde Testomgeving: Er wordt gebruik gemaakt van één testomgeving. Wanneer Playwright sluit, wordt de database automatisch gereset. Deze testomgeving draait op poort 3001 voor de frontend en 4001 voor de backend. Bij het starten van playwright wordt er een seed gedraait
Test-specifieke Configuratie: Voor de testen is er een speciale .envbestand beschikbaar, dat naar wens geconfigureerd kan worden.
Starten van testen met UI:
cd frontend
pnpm test:ui
Starten van testen zonder UI:
cd frontend
pnpm test
Firewall setup
Een firewall is een beveiligingssysteem dat netwerkverkeer controleert en filtert op basis van vooraf ingestelde regels. Het beschermt computers en netwerken tegen ongeautoriseerde toegang, malware en cyberaanvallen door ongewenst verkeer te blokkeren en alleen toegestaan verkeer door te laten. Firewalls kunnen hardwarematig (een fysieke netwerkapparaat) of softwarematig (een programma op een computer) zijn en worden vaak gebruikt in bedrijfsnetwerken en thuisnetwerken voor extra beveiliging.
Cloudflare (mandare.nl)
Mandare.nl wordt binnen Cloudflare beheerd Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-13135)
Alleen Nederlandse netwerken
Om het platform extra veilig te maken is het alleen toegestaan om vanuit Nederland het platfrom te benaderen. Als dit in het buitenland gebeurt wordt de request geblokeert.
Deze rule is te vinden onder Security > WAF > Custom rules
Cron jobs (actergrond taken)
Cron Jobs zijn geautomatiseerde achtergrondtaken die op geplande tijden worden uitgevoerd om routinematige processen binnen de applicatie af te handelen zonder handmatige tussenkomst. Deze taken kunnen variëren van het opschonen van tijdelijke gegevens en het uitvoeren van back-ups tot het verzenden van notificaties of rapportages.
Het gebruik van Cron Jobs zorgt ervoor dat terugkerende processen efficiënt en tijdig worden uitgevoerd, wat de prestaties en onderhoudbaarheid van de applicatie ten goede komt. Door deze taken op vooraf bepaalde tijdstippen te plannen, wordt de belasting op het systeem beter verdeeld, waardoor de algehele gebruikerservaring soepel blijft.
Job1
Momenteel zijn er nog geen achtergrond taken in het platform gebouwd
De printer (todo)
Op locatie is een printer beschikbaar voor het afdrukken van documenten, zoals toegangspassen. Deze printer is gekoppeld aan een specifiek e-mailadres, wat betekent dat documenten eenvoudig kunnen worden geprint door ze naar dit e-mailadres te sturen. Zodra een e-mail met bijlage wordt verstuurd naar het adres, wordt de inhoud automatisch geprint, zonder verdere handmatige stappen.
Overmaze
email:
Backups (ToDo)
Nader te bepalen
Data access log (ToDo)
Dit moet nog gemaakt worden
In het kader van het waarborgen van de privacy en beveiliging van persoonsgegevens, is het essentieel om bij te houden welke gebruikers toegang hebben tot deze gegevens. Een Data Access Log registreert elke keer dat een gebruiker bepaalde data in het systeem opvraagt of inziet. Dit logboek biedt gedetailleerde informatie over elke toegangssessie, inclusief welke gebruiker, welke dataset, en op welk moment de data is opgevraagd.
Het doel van dit logboek is om volledige transparantie te bieden over het gebruik van persoonsgegevens binnen de applicatie en om het mogelijk te maken om te controleren of de gegevens op verantwoorde wijze worden benaderd. Door deze gegevens bij te houden, voldoet het systeem voor een audit trail.
Opslag Structuur van de Data Access Log
De opslagstructuur van de Data Access Log is ontworpen om gedetailleerde en gemakkelijk doorzoekbare informatie te bieden over elke data-accessie. Deze structuur bevat de volgende velden:
Timestamp: De exacte datum en tijd waarop de gegevens zijn opgevraagd. Dit biedt een tijdlijn voor het auditproces en helpt bij het identificeren van toegangsmomenten.
User ID: De unieke identificatie van de gebruiker die toegang tot de gegevens heeft gehad. Hiermee kan worden nagegaan welke specifieke gebruiker bepaalde acties heeft ondernomen.
Role: De rol van de gebruiker binnen de applicatie, zoals bijvoorbeeld administrator, receptionist, of facilitair medewerker. De rolinformatie geeft inzicht in de toegangsrechten van de gebruiker en helpt bij het handhaven van rolgebaseerde toegangscontrole.
Scope: De specifieke gegevens of dataset waartoe de gebruiker toegang heeft gehad. Dit kan variëren van volledige dataverzamelingen tot meer gerichte datasets, afhankelijk van de functie en de toegangsniveaus van de gebruiker.
Object IDs: De unieke identificaties van de individuele data-objecten waartoe toegang is verkregen. Dit biedt gedetailleerde informatie over welke specifieke records zijn ingezien, aangepast, of opgehaald.
Nieuwe locatie inrichten (DigitalOcean)
Nieuwe project aanmaken in DigitalOcean
Database cluster aanmaken
Database region: AMS3, of ergens anders in Nederland
Database engine: MongoDB
Plan: 1 vCPU / 1 GB RAM / Storage minimum: 15 GiB
s3 access key aanmaken voor de locatie
Naam: mandare-(locatie)
Bucket: mandare-cdn
Config aanmaken voor frontend in src/config/items/(locatie).ts
import { createConfig } from “../createConfig”;
import { defaultConfig } from “./default”;
export const (locatie)Config = createConfig({
urls: {
default: ‘https://(locatie).mandare.nl’,
internal: ‘http://backend:4000’,
},
sentry: {
…defaultConfig.sentry,
enabled: true,
environment: ‘(locatie)’,
}
})
Config aanmaken in backend in src/config/items/(locatie).ts
import { createConfig } from “../createConfig”;
import { defaultConfig } from “./default”;
export const (locatie)Config = createConfig({
url: ‘https://(locatie).mandare.nl’,
frontendUrl: ‘https://(locatie).mandare.nl’,
title: ‘(locatie)’,
corsCsrfUrls: [
‘https://(locatie).mandare.nl’,
‘http://backend:4000’,
],
s3: {
…defaultConfig.s3,
enabled: true,
bucket: ‘(locatie)’,
},
sentry: {
…defaultConfig.sentry,
enabled: true,
environment: ‘(locatie)’,
}
})
Maak een app aan genoemd naar de locatie die je klaarzet
Alle (locatie) teksten veranderen naar de locatie naam
Environment variabelen instellen in DigitalOcean
Frontend
SENTRY_AUTH_TOKEN
PUBLIC_SELECTED_CONFIG
Backend
SENTRY_AUTH_TOKEN
PAYLOAD_SECRET
S3_ACCESS_KEY_ID
S3_SECRET_ACCESS_KEY
MAIL_API_KEY
alerts:
– rule: DEPLOYMENT_FAILED
– rule: DOMAIN_FAILED
databases:
– cluster_name: db-mandare-(locatie)
db_name: (locatie)
engine: MONGODB
name: db-mandare-(locatie)
production: true
version: “7”
domains:
– domain: (locatie).mandare.nl
type: PRIMARY
features:
– buildpack-stack=ubuntu-22
ingress:
rules:
– component:
name: frontend
match:
path:
prefix: /
– component:
name: backend
preserve_path_prefix: true
match:
path:
prefix: /admin
– component:
name: backend
preserve_path_prefix: true
match:
path:
prefix: /api
name: (locatie)
region: ams
services:
– build_command: cd frontend && pnpm build:prod
environment_slug: node-js
envs:
– key: SENTRY_AUTH_TOKEN
scope: RUN_AND_BUILD_TIME
value: (SENTRY_AUTH_TOKEN)
– key: DATABASE_URL
scope: RUN_TIME
value: ${db-mandare-(locatie).DATABASE_URL}
– key: CA_CERT
scope: RUN_TIME
value: ${db-mandare-(locatie).CA_CERT}
– key: PUBLIC_SELECTED_CONFIG
scope: RUN_AND_BUILD_TIME
value: (locatie)
github:
branch: main
deploy_on_push: true
repo: teamvolcano/mandare
http_port: 3000
instance_count: 1
instance_size_slug: apps-s-1vcpu-0.5gb
name: frontend
run_command: cd frontend && pnpm start
source_dir: /
– build_command: cd backend && pnpm build
environment_slug: node-js
envs:
– key: SENTRY_AUTH_TOKEN
scope: RUN_AND_BUILD_TIME
value: (SENTRY_AUTH_TOKEN)
– key: PAYLOAD_SECRET
scope: RUN_AND_BUILD_TIME
value: (PAYLOAD_SECRET)
– key: S3_ACCESS_KEY_ID
scope: RUN_AND_BUILD_TIME
value: (S3_ACCESS_KEY_ID)
– key: S3_SECRET_ACCESS_KEY
scope: RUN_AND_BUILD_TIME
value: (S3_SECRET_ACCESS_KEY)
– key: DATABASE_URI
scope: RUN_AND_BUILD_TIME
value: ${db-mandare-(locatie).DATABASE_URL}
– key: MAIL_API_KEY
scope: RUN_AND_BUILD_TIME
value: (MAIL_API_KEY)
– key: SELECTED_CONFIG
scope: RUN_AND_BUILD_TIME
value: (locatie)
github:
branch: main
deploy_on_push: true
repo: teamvolcano/mandare
http_port: 4000
instance_count: 1
instance_size_slug: apps-s-1vcpu-1gb-fixed
name: backend
run_command: cd backend && pnpm start
source_dir: /
Collecties & Globals
Gebruikers
Gebruikers zijn de mensen die kunnen inloggen in het systeem. Afhankelijk van hun rol (bijvoorbeeld beheerder, receptiepersoneel, of medewerker) hebben ze verschillende toegangsrechten tot gegevens en functionaliteiten.
Data velden
Database ID
Voor naam
Achternaam
Gekoppelde persoon
Aangemaakt datum
Laatst geüpdatet
Twofactor authenticatie
enabled
setupComplete
secret
Gebruikers Rol
Administrator
Beveiliging
Beveiliging Hoofd
Woonbegeleider
Facilitair medewerker
Locatie manager
Gebruikers rol
Aan de hand van de rol wordt de toegang in het systeem bepaald
Personen
Deze data structuur is ontworpen om verschillende persoonstypes binnen een gebouw of organisatie te beheren, zoals bewoners, bezoekers, gasten, medewerkers en potentiële bewoners (in aanvraag). Voor elk type persoon worden specifieke velden gedefinieerd, zoals persoonlijke gegevens (naam, contactinformatie, geboortedatum), statusinformatie (aanwezig, vertrokken, etc.), gekoppelde kamers, en toegangspassen voor beveiligde toegang.
Data structuur
Database ID
Algemene informatie
Voor naam
Tussenvoegsel
achternaam
gender (man, vrouw, anders)
Geboorte datum
Contact info
Email
Telefoon
Status
‘present’ | ‘absent’ | ‘departed’ | ‘expected’
Laatst aanwezig datum
Persoon ID
Type
resident’ | ‘visitor’ | ‘guest’ | ‘employee’ | ‘potential_resident’
Gelinkte toegangspas
Gelinkte toegang logs
Profiel Foto
Bewoner info
gelinkte kamer
Contact relaties (familie, gasten, bezoekers)
Bewoner status
(‘departed’ | ‘expected’ | ‘active’
Bezoeker info
Bezoekt (gelinkte persoon)
Aankomst datum
Vertrek datum
Gast info
Is gast voor (gelinkte persoon)
Aankomst datum
Vertrek datum
Gelinkte kamer
Medewerker info
Gelinkte platform gebruiker (optioneel)
Gelinkte organisatie
Bewoner in aanvraag info
Document nummer (id kaart of paspoort)
aankomst datum
afgehandeld door (platform gebruiker)
Gekoppelde woonbegeleider (platform gebruiker)
Laatst geüpdatet datum
aanmaak datum
Gecalculeerde velden
Weergave naam
voornaam + tussenvoegsel + achternaam
Persoons types
Bewoner
Woont in een kamer op locatie
Bezoeker
Komt binnen en gaat dezelfde dag weer weg en heeft een afspraak met of een bewoner of een medewerker.
Gast
Kamer is verplicht
Moet een familiekamer zijn
Overnacht dus op locatie en heeft een bewoner als connectie.
Medewerker
Werkt of is van een organisatie
Bewoner in aanvraag
Een Potentiële bewoner die het proces nog door moet gaan.
Versie beheer
Deze collectie heeft versie beheer, elke aanpassing die gemaakt wordt, wordt bijgehouden en kan door een admin teruggedraaid worden.
Toegangs passen
De toegangspassen worden gegenereerd voor personen die toegang moeten krijgen tot de locatie, zoals bewoners, gasten, en bezoekers. Elke pas krijgt een unieke QR-code die gekoppeld is aan het profiel van de persoon. Deze toegangspassen worden veilig opgeslagen in het systeem, samen met de bijbehorende gegevens zoals de naam, het type persoon en de toegangsstatus. Door de QR-code te scannen, kan snel worden gecontroleerd wie toegang heeft, wat het proces van in- en uitchecken aanzienlijk versnelt en vereenvoudigt.
Data velden
Database ID
Gekoppelde persoon
Bestands upload
Hier kan een pdf van de toegangs pas op komen
QR-code
access status
‘active’ | ‘inactive’;
Laatst geüpdatet
Aanmaakdatum
Organisatie
Organisaties vertegenwoordigen de entiteiten waaraan medewerkers zijn gekoppeld. Dit stelt het systeem in staat om te zien welke medewerkers bij welke organisatie horen, en zorgt voor gescheiden data op verschillende niveaus.
Data velden
Database ID
Naam
Straatnaam
Huisnummer
Postcode
Plaats
Algemeen email
Algemeen telefoon
Gekoppelde medewerkers
Bij directionele relatie tot personen die gelinkt zijn aan deze organisatie
Laatst geüpdatet
Aanmaak datum
Locaties
Locaties verwijzen naar fysieke gebouwen of specifieke plekken binnen het systeem. Locaties helpen bij het organiseren en beheren van gegevens op basis van de fysieke setting.
Data velden
Database ID
Naam
Gekoppelde organisatie
Locatie ID
Laatste update datum
Aanmaak datum
Afdelingen
Afdelingen verwijzen naar de verschillende functionele groepen binnen een locatie. Afdelingen helpen bij het structureren van de werking binnen een locatie en maken het gemakkelijker om functies te organiseren.
Data velden
Database ID
Naam
Locatie
Gekoppelde locatie waar de afdeling onder valt
Parent afdeling
gekoppelde afdeling waar dit onder valt
Afdeling ID
Laatste geüpdatet datum
Aanmaak datum
Kamers
Kamers zijn de individuele ruimtes binnen een locatie. Ze worden gebruikt om personen toe te wijzen aan specifieke ruimtes, wat helpt bij het beheren van verblijfplaatsen en de toewijzing van faciliteiten binnen een locatie.
Data velden
Database ID
Personen limit
Bewoners (relatie met personen)
Gekoppelde afdeling
Kamer ID
Oppervlakte in m2
Is familie kamer
info
Status
‘Free’ | ‘Partially Occupied’ | ‘Occupied’ | ‘OverOccupied’;
Beschikbare ruimte
Laatst geüpdatet datum
aanmaak datum
Plekken vrij
Dit veld wordt gebaseerd op de som van gekoppelde personen minus de personen limiet
Status
Status wordt gebaseerd op aantal plekken vrij
Wanneer gekoppelde personen 0 is, dan is de status Vrij
Wanneer gekoppelde personen onder limiet zit, is de status Gedeeltelijk bezet
Wanneer gekoppelde personen op limiet zit, is de status Bezet
Wanneer gekoppelde personen over limiet zit, is de status Overbezet
Toegangs log
De Toegangslog is een centrale verzameling waarin alle check-ins en check-outs worden bijgehouden van personen.
Data structuur
Database ID
Tijdstamp van toevoeging
Status
‘present’ | ‘absent’
Aangemaakt door
gelinkt aan de platformgebruikers
Gelinkte persoon
Laatste update
Aanmaak datum
28 dagen regeling
De 28 dagen regeling is door de overheid ingesteld als regel om bewoners die meer dan 28 dagen afwezig zijn ontzegt mogen worden van de locatie.
De berekening van de dagen afwezig wordt met afronding naar benden als volgt uitgevoerd:
const departedMinutes = Math.floor(departedTime / (1000 * 60));
const departedHouers = Math.floor(departedMinutes / 60);
const departedDays = Math.floor(departedHouers / 24);
De laatste checkin wordt opgehaalt.
Als de huidige status aanwezig is worden tussen de laatste checkin en de huidige checkin alle afwezig checkouts opgehaalt. Van de eerste checkout tot de huidige checkin wordt de dagen afwezig uitgerekend.
De dagen afwezig wordt met elke checkin / checkout meegenomen en hierboven op wordt van de huidige state de dagen er boven op geteld.
Condities
Wordt alleen toegepast op bewoners
Alleen checkins die tussen 18 november 2024 – 18 november 2025 worden gedaan worden meegenomen.
Feature toggle
Ongeacht of de feature toggle aan of uit staat, deze calculatie wordt uitgevoerd.
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15575)
Whitelist
De Whitelist is waar alle IP-adressen, locaties en toegangsregels worden opgeslagen. Whitelist items kunnen aan een gebruiker worden gekoppeld en worden bij login gecheckt.
Data structuur
Database ID
Title
IP address
Laatste update
Aanmaak datum
Whitelist check
Voor een login check wordt naar de HTTP-header x-forwarded-for gekeken. En de eerste item wordt meegenomen in deze header
Disclaimer
De whitelist is niet helemaal 100 water dicht. Iemand met veel kennis over HTTP-headers kan dit spoofen en de filter omzeilen.
In eerste instantie is deze filter bedoelt om platform gebruikers van het platform bewust te laten worden via welk netwerk ze inloggen.
Feature Toggles
Feature toggles zijn schakelaars waarmee je bepaalde functies aan of uit kunt zetten zonder de code opnieuw te hoeven schrijven of opnieuw te installeren.
Nieuwe modules in het systeem worden hieronder toegevoegd en kunnen per omgeving ingesteld worden.
Admin interface
Werking
Wanneer het vinkje van de feature uit staat kunnen gebruikers van het platform niet gebruik maken van deze feature.
Access control
Ook heeft elke feature access control en kan het per gebruikers rol nog ingesteld zijn.
De volgende settings worden gebruikt:
28 dagen regeling
‘admin’, ‘location_manager’, ‘caregiver’
In- en uitchecken
‘admin’, ‘security’, ‘security_head’
Bezoekersregistratie
‘admin’, ‘security’, ‘security_head’, ‘location_manager’
Gastregistratie
‘admin’, ‘caregiver’
Reparatieverzoek Meldingen
‘admin’, ‘facility’, ‘locatie_manager’
Afwezigheidsverzoek Meldingen
‘admin’, ‘location_manager’ ,’caregiver’
Analytics
Alle velden: ‘admin’, ‘security’, ‘security_head’, ‘caregiver’, ‘location_manager’
Behalve:
Kamers overbezet: ‘admin’, ‘location_manager’
totalEmployeesPresent: ‘admin’, ‘security’, ‘security_head’, ‘location_manager’
Extra velden
Met de functie Extra Velden kun je eenvoudig de datastructuur per omgeving uitbreiden zonder codewijzigingen. Via het adminpaneel kan een beheerder aangepaste velden definiëren en toevoegen aan collecties. Deze velden kunnen vervolgens per omgeving naar wens worden geconfigureerd en ingevuld.
Dit biedt maximale flexibiliteit, zodat elke omgeving precies de data kan opslaan die nodig is, zonder aanpassingen aan de onderliggende database-structuur.
Admin pannel
Maak velden aan onder de extra velden tab. Dit kan het BSN nummer zijn, moedertaal, getekend voor huisregels ja/nee etc..
Veld waarde
Open een kamer of persoon en hier is een nieuw kopje bijgekomen. Alle velden die gedefineerd zijn zijn hier te vinden. Hier kan je de waarde aanpassen of toevoegen.
In de voorkant zie je deze waardes dus staan. Mocht een waarde net aangemaakt zijn en nog nergens ingevuld zijn dan is de waarde ook leeg bij de persoon.
Ja/nee waarde
Wanneer je een ja nee waarde nieuw toevoegt is hij bij iedereen leeg. Dit betekend dus dat hij als een Nee wordt weergegeven bij iedereen.
Verwijderen van velden
Wanneer je een veld verwijderd van de de configuratie dan wordt deze niet meer getoond bij de persoon. Let dus goed op dat de data dan dus ook verwijderd is.
Op de metaData configuratie wordt bijgehouden wie wat aangepast heeft.
Ondersteunde collecties
De extra velden worden momenteel alleen ondersteunt voor het personen dossiers
Personen
Kamers
Veld definities
Tekst veld
Voor vrije input
Nummer veld
Voor getallen negatief en positief
Ja Nee veld
Vinkje of iets ja is of nee
Datum veld
Datum veld zonder tijd
Toegang op een extra veld
Op het veld is het ook mogelijk om te kunnen defineren wie het veld mag inzien. Op deze manier kan gevoelige data afgeschermt worden voor bepaalde gebruikers rollen.
Wel handig als de admin toegang heeft tot de waarde anders kunnen ze niet ingesteld worden
Instellingen
(wordt nog niet gebruikt)
De Instellingenmodule biedt beheerders de mogelijkheid om de applicatie aan te passen aan de specifieke behoeften van de organisatie. Hier kunnen kernconfiguraties worden beheerd die van invloed zijn op de werking en toegankelijkheid van het systeem.
Data velden
Email adres voor print jobs
Email adres waar print taken naartoe gestuurd worden
Meldingen
Data structuur
Meldingen type
Reperatieverzoek -melding
Verzoek- melding van afwezigheid / vakantie
Aangemaakt door systeem
API
Formulier
Platform
Melder
gekoppelde persoon (kan van bewoner tot medewerker zijn)
Gekoppelde ruimtes
Gekoppelde personen
Melding ontvangen op
Afgerond datum
Melding title
Melding beschrijving
Status updates (lijst)
Tekstveld met update
Gepost door
timestamp
Verwachte afrondings datum
Melding history
Een lijst met aanpassingen, de volgende gegevens
Aangepast door (platform user),
datum
type (status, beschrijving, kamer, gekoppelde persoon, title)
Data before (text waarde)
Data after (text waarde)
Melding urgentie
klein ongemak
Behoorlijke hinder
Dringent / Gevaarlijk
Melding status
Inbox
Geplaned
In behandeling
Extern bedrijf
Afgerond
Versie beheer staat aan op de collectie
Dynamiche velden
Afhandelings duur
Als de status nog niet is afgerond datum van melding – datum van nu
Na afronding de datum hier opslaan
Formulier input
Groep met volgende gegevens
Melder
Voornaam
Achternaam
email
telefoon
bewoner id
Korte title
Beschrijving
Betrokken kamer
Betrokken bewoners
email
telefoon
bewoner id
Verwerkings hook (todo nog niet)
Bij opslaan moet de melder vanuit het formulier gekoppeld worden aan een persoon in de database
Ook zou dit proces toegepast moeten wroden op de betrokken kamers en betrokken bewoners
Entiteit persoon koppelen
De volgende querys worden uitgevoerd, is er een query met resultaat dan wordt nr 1 van dit resultaat gekoppeld aan de melding. Wordt van boven naar beneden doorgelopen.
Search op basis van id
Search op basis van email
Search op basis van telefoon
Admin Interface
Het Backoffice Admin Panel is ontwikkeld om beheerders een centrale plek te bieden voor het beheren van de Mandare applicatie. Hier kunnen ze instellingen configureren, gebruikers beheren, data controleren en systeemfunctionaliteiten monitoren. Dit panel is essentieel voor het soepel laten verlopen van de dagelijkse operaties en het ondersteunen van gebruikers met technische of administratieve vragen.
Wanneer log je in?
Bij het instellen of aanpassen van gebruikersrollen en toegangsrechten.
Voor het controleren van data-integriteit of het oplossen van problemen.
Tijdens onderhoudswerkzaamheden of na updates om instellingen te valideren.
Wanneer je als beheerder specifieke ondersteuning moet bieden aan eindgebruikers.
Staging URL
https://overmaze-staging-ksckc.ondigitalocean.app/admin
Inloggen
Hier kun je inloggen met je administrator account.
Andere gebruikers rollen hebben geen toegang tot deze interface.
Navigeren
Na inloggen heb je links alle collecties en instellingen staan waar je met het account toegang tot hebt.
Uitleg over de pannels kun je vinden onder Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12115)
LETOP: als administrator heb je alle rechten om data te verwijderen en aan te passen. Als dit niet zorgvuldig gebeurt kunnen er processen in de soep lopen of kan het leiden tot data verlies.
Frontend
Nader te bepalen
Interfaces (UI)
Nader te bepalen
Authenticatie
Nader te bepalen
Login
Wanneer je niet ingelogd bent en het platform benaderd word je omgeleid naar de login pagina.
2FA verificatie
Wanneer een ingelogde gebruiker de 2fa nog niet ingesteld heeft en wel aan heeft staan wordt het volgende scherm weergegeven.
De code kan gescand worden en de code gebruikt om te verifiëren of de QR-code goed is opgenomen.
Wanneer de 2fa al ingesteld is en aan staat moet de gebruiker alleen de 2fa code invullen.
Wachtwoord vergeten
Via het login scherm kan op wachtwoord vergeten gedrukt worden
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12375)
Vanuit hier word je omgeleid naar het scherm waar een wachtwoord ingesteld kan worden.
Na invullen wordt er een email met reset link verstuurd en krijg je een succes melding.
Bij het openen van de reset link kan het nieuwe Wachtwoord ingesteld worden.
Na het resetten ben je automatics ingelogd en kan je het dashboard openen.
Uitloggen
Uitloggen kan in het platform in de sidebar van het dashboard linksonder.
Login Inactiviteit
Bekijk de volgende pagina welke waardes worden gebruikt voor inactiviteit
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15515)
Wanneer de inlog sessie bijna verloopt, wordt deze pop-up getoond.
Hier heeft de gebruiker 2 opties:
Uitloggen ➝ gaat terug naar login
Ingelogd blijven ➝ De login sessie wordt vernieuwd
Wanneer iemand te lang al ingelogd is geweest of wanneer de inlog sessie is verlopen wordt dit scherm getoond
Dashboard
Wanneer een gebruiker de applicatie opent na inloggen komt op het dashboard terecht. Hier zijn verschillende tegels die totalen geven over de data in het platform.
Feature toggels
Het aan en uit zetten van bepaalde totalen kan gedaan worden voor iedere gebruiker via de feature toggels.
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15575)
Let op dat elke gebruiker misschien andere rechten heeft tot bepaalde gegevens en dat bepaalde totalen niet getoond worden.
Bij Feature toggels uit
Wanneer de analytics niet zijn ingeschakeld ziet het er zo uit:
Kamerbeheer
Kamer overzicht
Zoeken
Zoeken op kamers kan op basis van de kamer ID
Filteren
Optie om te filteren op bezetting van de kamer
Kamer detail
Dit is hoe de detailpagina er uit kan zien
Aan de hand van de data die beschikbaar is en de toegang die je op je account hebt kunnen velden en kaarten niet getoond worden
Persoonsbeheer
Persoon overzicht
Zoeken
Zoeken kan op basis van kamer nummer of op persoonsnummer
Filter op type
Filter om te kunnen filteren op persoon type
Filter op aanwezigheid
Filter om te kunnen filteren op de huidige aanwezigheid van een persoon
Persoon detail
Zo kan een persoon er uit zien:
Aan de hand van beschikbare data en toegang op je gebruikers account kunnen velden niet of wel getoond worden.
Error pagina
Bij onverwachte fouten of pagina’s die niet bestaan wordt deze pagina weergegeven:
28 dagen regeling
Achterliggende werking is hier te vinden:
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15675)
Wanneer de feature toggle 28 dagen regeling aan staat wordt dit scherm zichtbaar
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15575)
Op de persoon detail komt er een extra kaart bij:
In de toegangslog worden check-in/-outs die te in de berekening gebruikt worden gemarkeerd.
Hercalculatie
De hercalculatie zorgt ervoor dat alle dagen van afwezigheid die onder de 28-dagen regeling vallen opnieuw worden berekend. Dit is essentieel om ervoor te zorgen dat de registratie van afwezigheid correct en up-to-date blijft, met de juiste impact op bijvoorbeeld verzuimadministratie en vergoedingen.
Wanneer je op de knop herberekenen klikt runt hij de taak op de achtergrond. Dit kan bij personen die veel checkins en checkouts hebben even duren.
De browser window mag gesloten worden en is niet afhankelijk dat hij open moet zijn.
Check in/uit
Feature toggles
Om deze mogelijkheid te hebben moet op de feature toggle aan staan en moet je er toegang tot hebben.
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15575)
Check in/out – detail
Op deze pagina kan een persoon op aanwezig of afwezig gezet worden.
Na de check-in wordt de pagina geüpdatet.
In de toegangs log zie je meteen de nieuwe log items verschijnen
Gasten registratie
De gasten registratie is voor het aanmelden van mensen die gaan overnachten op de locatie.
Feature toggels
De feature toggle Gastregistratie moet aan staan.
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15575)
Create/update
Succes
Bezoekers registreren
Via deze pagina kan een gebruiker een bezoeker registeren op het platform
Feature Toggels
Deze feature kan aan en uit gezet worden via de feature toggels
Succes
Wanneer de gebruiker toegang heeft tot de feature toggle in- en Uit checken wordt de knop ook getoond.
Update Toaster
Een update toaster is een klein berichtje dat even opduikt om je te laten weten dat er een nieuwe versie van de app beschikbaar is. Dit is belangrijk omdat als je de web app open hebt en er ondertussen een update uitkomt, er problemen of fouten kunnen ontstaan. Door het berichtje te tonen in plaats van direct de app te herladen, zorgen we ervoor dat je niet abrupt uit je werk wordt gehaald en je voortgang behoudt.
Gebruikers beheer
Login logica
De login logica vormt de kern van gebruikersauthenticatie binnen het platform. Het stelt gebruikers in staat om veilig toegang te krijgen tot hun accounts en beschermt gevoelige gegevens door middel van geavanceerde verificatiemethoden.
Sessie duur
Een login sessie is 30 minuten geldig. Voor de 30 minuten wordt aan de gebruiker een waarschuwing gegeven of ze nog actief zijn.
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15495)
In de login inactiviteit pop-up kan de login sessie vernieuwt worden.
Two Factor Authenticatie
Voor wat het is:
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12355)
Hoe het geïmplementeerd is in de frontend:
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12395)
Hoe het ingesteld kan worden:
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12495)
Max login limit
Na een login wordt er een timestamp op het account gezet. Standaard moet na een login na 12 uur weer opnieuw ingelogd worden. Wanneer het limit overschrijden is kan er geen nieuwe sessie aangevraagd worden en moet er opnieuw ingelogd worden.
Voor de beveiliging en facility gebruikers rol is dit limit op 4 uur gezet.
Account locks
Wanneer er op een gebruiker te vaak verkeerd wordt ingelogd wordt het account tijdelijk geblokkeerd. Dit is om tegen te gaan dat het wachtwoord met veel pogingen geraden kan worden.
IP whitelist
Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-15295) & Private (https://app.clickup.com/18340547/docs/hfpp3-10015/hfpp3-12495)
Welkoms email
Nadat een gebruiker is aangemaakt of wordt geüpdatet en het vinkje van Stuur welkomst email staat aan wordt er de e-mail gestuurd naar het mailadres van de gebruiker met een welkom en een link om het wachtwoord van zijn account in te kunnen stellen.
Processen
Mandare onboarding
Dit document beschrijft de gefaseerde aanpak voor de implementatie van het platform binnen [locatie]. In vier weken worden de setup, training, migratie en nazorg uitgevoerd om een soepele overgang te garanderen.
Door middel van afstemmingscalls, gebruikersupdates en gestructureerde taken zorgen we voor een succesvolle implementatie.
Week 1 – Setup & Inventariseren
Afstemmings call tussen Volcano & Kabath
onboardings checklist doorlopen en aan specificaties tweaken
Nieuwe gewenste features bij verkoop in kaart bregen en doorontwikkeling plannen
Domeinnaam inrichten [locatie].mandare.nl
Cloud omgeving inrichten
Bas uitnodigen als Admin – geen 2fa
Gebruikers rollen worden voor de locatie in kaart gebracht
Modules aan/uit zetten aan de hand van offerte
Tussen update call tussen Volcano & Kabath & afseming week 2
Week 2 – Training on the job & basics
Beheerder bij de klant onboarden en laten aanmelden
Alle gebruikers op de locatie laten inloggen
Feedbackformulier goed in de gaten houden
Eerste versie van aangeleverde migratie kan zonder fouten lopen
Datum voor week 3 prikken voor de livegang (17 maart)
Alle gebruikers van het platform een update mail versturen
Wat is de planning en wat zit er aan te komen
Feedback formulier delen
Wat is de volgende stap (welkoms email) & wat als de link verlopen is
Update mail sturen naar alle gebruikers wanneer de switch omgaat
Training (online/op locatie) platform doorlopen per gebruiker rol
Apperatuur op locatie inrichten
Tussen update call tussen Volcano & Kabath
Week 3 – Migratie & Intergratie
Afstemmings call tussen Volcano & Kabath
Aanleveren final migratie bestand (met eventuele pas foto’s in een zip)
Uitvoeren van de final migratie op de live omgeving
Testen door admin op locatie & bas of alle data volledig en compleet is
Update mail sturen naar alle gebruikers dat het in gebruik is
Tussen update call tussen Volcano & Kabath
Week 4 – Nazorg
elke dag feedback formulier strak in de gaten houden
Reflectie tussen Volcano & Kabath
geen gekke dingen die gebeuren?
Bijlages:
Migratie formaat:
mandare-import-structure-v1.xlsx
Gebruikers feedback & support