EEmmanuel Oladoyin
Back to all work

Restaurant website and ordering

Afro Flavours

A website and API for a West African restaurant and grocery in Auckland: table bookings, online ordering, catering requests, events and an admin dashboard.

Afro Flavours preview
17
Data models
100
API endpoints
35
Pages

Overview

Afro Flavours needed one place for guests to book a table, order food and groceries, request catering and find out what is on. Staff needed an easy way to manage all of it without touching code.

I built the Next.js website and the Express API, including the admin dashboard the team uses day to day.

What I built

  • Bookings

    Dine-in, event and African-experience bookings with live availability, double-booking checks and special-hours overrides.

  • Menu and online shop

    Restaurant menu and groceries with a cart, checkout for delivery or pickup, and a tracking page for each order.

  • Catering

    Catering requests with file attachments, handled from the admin dashboard.

  • Events, reviews and gallery

    Events, customer reviews, a photo gallery, a newsletter and a contact form.

  • Admin dashboard

    Manage bookings, orders, payments, menu, products, events, messages, reviews and site details, with exports.

Engineering notes

  • Order numbers come from an atomic counter, and every status change adds an entry to the order's timeline.
  • Admin routes sit behind a JWT guard; the API is rate limited and validates every request.
  • Stripe payment intents and webhooks for bookings and catering, with refunds from the admin side.
  • Transactional email through Resend and image storage on Cloudinary.

Screenshots

Afro Flavours screenshot 1
Afro Flavours screenshot 2
Afro Flavours screenshot 3
Afro Flavours screenshot 4
Afro Flavours screenshot 5
Afro Flavours screenshot 6
Afro Flavours screenshot 7
Afro Flavours screenshot 8