Versatile Pub / Chef P Kitchen
Full-stack restaurant application with real-time order management, push notifications, payment integration and admin dashboard — built to handle the complete ordering workflow from customer to kitchen.

What I built
Versatile Pub / Chef P Kitchen is a full-stack restaurant application that handles the complete ordering workflow — from menu browsing and order placement to real-time kitchen updates and payment processing. It was built as a production-ready system, not a static prototype.
The application includes a customer-facing menu and ordering interface, a real-time order management system using Socket.IO for live updates, push notifications through OneSignal, Paystack payment integration for secure transactions, and a full admin dashboard for managing orders, menu items and operations.
The problem I was solving
Restaurant order management is inherently real-time. Orders come in, the kitchen needs to know immediately, status updates need to reach the customer, and payments need to be processed securely. Building this as a web application — rather than relying on phone calls or third-party delivery apps — gives the restaurant full control over their ordering system.
The technical challenge was building a system where multiple users (customers and staff) interact with the same data in real-time, with proper payment handling, notification delivery and state management across the entire flow.
How I built it
I used Node.js for the backend, MongoDB for the database, and Socket.IO for real-time communication. Paystack handles payment processing, and OneSignal provides push notifications.
Real-Time Orders
Socket.IO connects the customer ordering interface with the kitchen management view. When a customer places an order, the kitchen sees it instantly. Status updates flow back to the customer in real-time.
Payment Integration
Paystack handles secure payment processing. Orders are linked to payment transactions, with proper error handling for failed payments and confirmation flows for successful ones.
Push Notifications
OneSignal delivers push notifications for order status updates. Customers receive notifications when their order is confirmed, being prepared and ready for pickup.
Admin Dashboard
A separate admin interface for managing the menu, viewing all orders in real-time, updating order statuses and monitoring daily operations. The dashboard updates live without requiring page refreshes.
What the application does
Real-Time Order Management
Orders are transmitted instantly from customer to kitchen via WebSocket connections. Both sides see live updates without refreshing.
Push Notifications
Customers receive browser push notifications for order confirmations, preparation updates and completion alerts.
Payment Processing
Secure payment through Paystack with transaction linking, receipt generation and proper error handling for failed payments.
Admin Dashboard
Full admin panel for managing menu items, viewing all orders, updating statuses and monitoring daily operations.
Menu Management
CRUD interface for managing menu categories, items, pricing and availability. Changes reflect immediately on the customer-facing menu.
Tech stack
Only technologies actually used in this project.
Takeaways from this project
Real-time architecture changes everything
Building with Socket.IO meant rethinking how data flows through the application. Instead of request-response cycles, the system needed persistent connections and event-driven state management.
Payment integration requires careful error handling
Payment flows have many failure modes: network errors, insufficient funds, timeouts, webhook delivery failures. Each scenario needed proper handling to avoid lost orders or double charges.
Full-stack means owning the entire flow
From the moment a customer places an order to the moment they receive their food, every step runs through code I wrote. This taught me to think about the complete user journey, not just isolated features.
Want to build something similar?
If you have a project in mind, let's discuss what you want to build.