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