Terug naar projecten

P2P Beheer

Een compleet beheersysteem voor een hondentrainingsbedrijf, dat klantenbeheer, hondenprofielen, trainingen, lespakketten en pensionboekingen samenbrengt in één applicatie. Draait in productie voor een echt bedrijf, gebouwd en onderhouden als zelfstandig project van architectuur tot deployment.

Wat kan P2P Beheer?

Klanten- & hondenbeheer
Volledige klantendatabase met contact- en adresgegevens, gekoppeld aan uitgebreide hondenprofielen (ras, geslacht, karakter, fertiliteit).
Trainingen & lespakketten
Cursuspakketten met meerdere lessen, tot vijf trainers per sessie, deelnemersbeheer, wachtlijsten en een publieke inschrijfflow voor klanten.
Pensionbeheer
Reserveringen met check-in/check-out, voeding, allergieën, medicatie, extra diensten en noodcontactgegevens per boeking.
Locatiebeheer
Trainingslocaties met volledig adres, GPS-coördinaten en status, direct gekoppeld aan trainingen en trainingsinstellingen.
Statistieken & rapportages
Dashboards per rol met KPI's over gebruikers, honden, trainingen en pensionbezetting, met export naar SQL, JSON en CSV.
Google Calendar-sync
Tweerichtingssynchronisatie: trainingen en pensionboekingen verschijnen automatisch in Google Calendar, met conflictdetectie.

Belangrijke technische features

Rolgebaseerde toegang
Vier rollen (Klant, Trainer, Supertrainer, Beheerder) met granulaire rechten, afgedwongen op zowel pagina- als API-niveau.
Wachtwoordloze authenticatie
Login via magic links (NextAuth.js + Resend) — geen wachtwoorden, wel volledige audit logging van elke inlogpoging.
Cron-jobs & notificaties
Een geplande dispatcher verstuurt automatische e-mailherinneringen en -bevestigingen voor trainingen en pensionboekingen.
Beveiligingsmonitoring
IP-tracking met geolocation, user-agent logging en een audit trail van login pogingen en gebruikerswijzigingen.
Database backups & sync
Multi-format backups (SQL, JSON, CSV) vanuit het adminpaneel, plus een script om productiedata veilig naar lokaal te syncen.
OAuth2-koppeling
Google Calendar wordt gekoppeld via een OAuth2-flow, met eigen tokenbeheer en refresh voor langdurige toegang.

Techstack

Framework & taal
Next.js 15 (Pages Router)React 18TypeScript
Data & API
PostgreSQL 17Prisma ORMtRPCZodReact Query
Authenticatie & beveiliging
NextAuth.jsMagic links via ResendRolgebaseerde toegang
Integraties & infra
Google Calendar API (OAuth2)Cron-dispatcherRender.com hosting
Styling & UI
Tailwind CSSLucide React

Screenshots

De applicatie beheert echte klantgegevens, dus screenshots volgen zodra klant- en hondgegevens zijn vervangen door fictieve voorbeelddata.

DashboardScreenshot volgt
KlantenbeheerScreenshot volgt
TrainingenScreenshot volgt
PensionbeheerScreenshot volgt