Terug
Betaalde Opdracht
bbfooi.vercel.app · Home
Cafe Beestenbos CashUp 2025

Bereken, verdeel & ontvang.

Fooi sparen zodat je het in briefjes kunt opnemen, niet in muntjes. Medewerkers kiezen zelf wanneer en hoeveel, de rest blijft staan.

Next.js MongoDB TypeScript Tailwind PWA
Scroll
Home Invoerpagina · fooi bedrag, datum en medewerker­selectie.
https://bbfooi.vercel.app/
Dagelijkse Fooi Invoer
Selecteer wie er vandaag heeft gewerkt
📅  3 mei 2026
 
Michiel
Manou
Luna
Camerone
Details · Berekening

Verdeeld onder aanwezige medewerkers.

Zodra je het totaalbedrag invoert en de aanwezige medewerkers aanvinkt, berekent de app het bedrag per persoon. Zo hoeft niemand zelf te rekenen.

Trigger
form submit
Opslag
MongoDB
Pagina
/ (invoer)
Luna
Totaal Openstaande Fooien
€ 8,50
Ontvangen
Fooi Geschiedenis
Gedeeld met: Michiel, Manou, Luna, Camerone
€ 2,01
✓
2 mei 2026
Gedeeld met: Nina, Bob, Luna, Camerone
€ 1,92
✓
1 mei 2026
Gedeeld met: Michiel, Carlos, Luna, Camerone
€ 2,20
✓
30 apr 2026
Gedeeld met: Nina, Luna
€ 2,37
✓
27 mrt 2026
Gedeeld met: Luna, Camerone
€ 1,98
✓
Fooi Ontvangen
Kies het bedrag dat je wilt ontvangen. Je kunt een afgerond bedrag kiezen als er weinig kleingeld beschikbaar is.
Exact bedrag: € 8,50
€ 5,00 (Rest: +€ 3,50)
Details · Medewerker

Automatisch fooien sparen, zonder kleingeld.

Op de persoonlijke pagina ziet een medewerker alle openstaande en al ontvangen fooien. Met één klik markeert hij ze als ontvangen, met optie voor afgerond bedrag als er weinig kleingeld is.

Route
/worker/[id]
Trigger
click "Ontvangen"
Opslag
MongoDB
Admin Dashboard · overzicht van alle fooien met zoeken, sorteren en exporteren.
https://bbfooi.vercel.app/admin
€ 2.000+
Reëel gebruik · 1 jaar

Meer dan €2.000 aan wisselgeld bespaard dat anders steeds opnieuw bij de bank besteld moest worden.

Worker model

_id: ObjectId('67f7ac0e608159f66f70b82d')
id: 3
name: "Michiel"
active: true
createdAt: 2025-04-10T11:31:26.090+00:00
updatedAt: 2025-04-10T11:31:26.090+00:00

Tip model

_id: ObjectId('67f7ac0e608159f66f70c14a')
date: 2026-05-01T10:00:00.000+00:00
amount: 7.42
workers: Array (4)
createdAt: 2026-05-05T14:00:35.135+00:00
updatedAt: 2026-05-05T14:00:35.135+00:00

Received tips

_id: ObjectId('69fb63b78acfc0c667ebb5cb')
workerId: 3
__v: 0
createdAt: 2026-05-06T15:52:23.025+00:00
lastReceivedDate: 2026-05-06T15:52:23.023+00:00
receivedTipDetails: Array (3)
remainingAmount: 2.0500000000000007
tipIds: Array (3)
updatedAt: 2026-05-06T15:52:23.025+00:00

Worker model

_id: ObjectId('67f7ac0e608159f66f70b51f')
id: 4
name: "Nina"
active: true
createdAt: 2025-04-10T11:31:26.090+00:00
updatedAt: 2025-04-10T11:31:26.090+00:00

Tip model

_id: ObjectId('67f7ac0e608159f66f70c2b3')
date: 2026-05-03T18:30:00.000+00:00
amount: 12.80
workers: Array (3)
createdAt: 2026-05-03T19:14:22.441+00:00
updatedAt: 2026-05-03T19:14:22.441+00:00

Received tips

_id: ObjectId('69fb63b78acfc0c667ebb6a2')
workerId: 4
__v: 0
createdAt: 2026-05-06T15:52:23.025+00:00
lastReceivedDate: 2026-05-06T15:52:23.023+00:00
receivedTipDetails: Array (3)
remainingAmount: 4.2666666666666694
tipIds: Array (3)
updatedAt: 2026-05-06T15:52:23.025+00:00

Worker model

_id: ObjectId('67f7ac0e608159f66f70b521')
id: 6
name: "Daphne"
active: false
createdAt: 2025-04-10T11:31:26.090+00:00
updatedAt: 2026-01-02T14:01:09.123+00:00

Tip model

_id: ObjectId('67f7ac0e608159f66f70c3e7')
date: 2026-05-06T12:00:00.000+00:00
amount: 5.60
workers: Array (2)
createdAt: 2026-05-06T12:45:10.882+00:00
updatedAt: 2026-05-06T12:45:10.882+00:00

Received tips

_id: ObjectId('69fb63b78acfc0c667ebb7f3')
workerId: 6
__v: 0
createdAt: 2026-01-02T14:01:09.123+00:00
lastReceivedDate: 2026-01-02T14:01:09.121+00:00
receivedTipDetails: Array (1)
remainingAmount: 0
tipIds: Array (1)
updatedAt: 2026-01-02T14:01:09.123+00:00
MongoDB

Eenvoudig data model, robuuste opslag

Alle fooien en medewerkers worden opgeslagen in MongoDB via Mongoose. De Next.js Server Actions communiceren direct met de database, geen aparte API-laag nodig.

Dirk Nielandt Landingspagina · populaire titels, nieuw werk en het debuut.