Project Showcase

Guru Palace - Restaurant & Catering Management Platform

Guru Palace is a comprehensive, full-stack restaurant management platform built with Django (backend) and Vue.js (frontend) that handles the entire customer journey—from discovering the menu and making reservations to planning special events with catering services. The platform serves multiple user roles with role-based dashboards and permissions, including customers (booking, menu browsing), restaurant staff (managing reservations, catering requests), and administrators (content management, system configuration). Key features include real-time reservation booking with availability checking, a visually rich menu display with dietary filtering and item customization, a catering inquiry system with package building and quote estimation, customer accounts with favorites and loyalty program, content management system (CMS) for pages and blog posts, structured data (Schema.org) for SEO optimization, automated email confirmations and reminders via Celery, and a fully responsive Vue.js frontend with Tailwind CSS. The system leverages Django REST Framework for API communication, Celery for asynchronous task processing (email notifications, reminders), and provides a REST API for mobile app integration.

14 views·2 min read·
Online Reservations
1,000+ reservations processed monthly
Catering Inquiries
50+ catering inquiries received monthly
Menu Items
200+ menu items managed in the catalog
Blog Content
100+ blog posts for SEO content
about guru lightmode.png

Tech Stack

🎸Django
Django REST Framework
Celery
Redis
🐘PostgreSQL
Vue.js 3
Pinia
Vue Router
Tailwind CSS
Vite
Axios
WebSockets (Django Channels)
🐳Docker
AWS S3

Why This Stack?

Why Django: Rapid Development: Django's batteries-included approach allowed quick implementation of authentication, admin interface, and ORM for data models (Menu, Reservations, Catering, CMS) Security: Built-in protection against CSRF, XSS, SQL injection, and clickjacking—critical for handling customer data and payment information Admin Interface: Zero-code admin panel for managing menu items, reservations, catering requests, and content—reducing development time by 50% ORM Excellence: Django's ORM with migrations handles complex relationships (menu items → categories → dietary tags, reservations → time slots → tables) with proper indexing for performance REST Framework Integration: Seamless integration with DRF for building the API consumed by the Vue.js frontend Internationalization: Built-in i18n support for multi-language deployments Why Vue.js: Component-Based Architecture: Reusable components (MenuItem, ReservationForm, PackageBuilder) for consistent UI and faster development Reactivity System: Efficient DOM updates for interactive features like menu filtering, package selection, and form validation Composition API: Clean, reusable logic composition with composables (useMenu, useReservation, useToast) Pinia Integration: Centralized state management for menu data, reservation state, and UI preferences Vue Router: Smooth client-side navigation with lazy-loading for optimal performance Developer Experience: Hot Module Replacement (HMR) and Vue DevTools for efficient debugging Why Django REST Framework: API-First Architecture: Enables separation of concerns between backend and frontend Serialization: Handles complex nested relationships (menu categories → items → dietary tags, reservations → time slots → tables) Authentication Support: Token-based authentication for API security Filtering & Pagination: Built-in support for filtering menu items and paginating reservations Browsable API: Built-in API documentation and testing interface for developers Why Celery & Redis: Asynchronous Emails: Sends confirmation emails and reminders without blocking user requests Scheduled Tasks: Daily reservation reminders, cleanup of expired reservations, and catering inquiry follow-ups Background Processing: Handles email rendering and sending in the background Retry Logic: Automatic retry for failed email deliveries Task Queuing: Routes tasks appropriately for efficient processing Why PostgreSQL: Data Integrity: ACID compliance for financial transactions and reservation data JSON Support: Native JSON field support for storing flexible data (menu item specifications, catering package includes) Full-Text Search: Powerful search capabilities across menu items and content Indexing: Advanced indexing strategies for query performance on large datasets Transactions: Robust transaction handling for multi-step operations (reservation → table assignment → confirmation) Why Tailwind CSS: Utility-First Approach: Rapid UI development with pre-built utility classes Customization: Easy theme customization for restaurant branding (primary colors, font families) Responsive Design: Built-in responsive utilities for mobile-first development Component Consistency: Consistent styling across all Vue components Performance: Purge unused CSS for optimal production bundle size Why Vite: Fast Development: Instant server start and Hot Module Replacement (HMR) Optimized Build: Efficient bundling with Rollup for production ES Module Support: Native ES modules for modern JavaScript Plugin Ecosystem: Vue plugin integration and easy configuration Development Experience: Faster feedback loop for UI development Why Docker: Environment Consistency: Ensures the same environment across development, staging, and production Easy Setup: One-command development environment setup with docker-compose Service Isolation: Separate containers for web, worker (Celery), Redis, and database Deployment: Consistent deployment across different hosting environments

Gallery

about guru lightmode.png
about guru lightmode.png
abouts page guru dark mode.png
abouts page guru dark mode.png
menupage guru lightmode.png
menupage guru lightmode.png
guru catering page dark.png
guru catering page dark.png
banquet guru light mode.png
banquet guru light mode.png

Guru Palace

Authentic Indian Cuisine & Catering

Guru Palace has been serving authentic Indian cuisine since 2005. Our master chefs bring decades of experience from the kitchens of Delhi, Mumbai, and Lucknow to create dishes that transport you to the heart of India.

"Food is not just eating energy. It's an experience." - Chef Guru Singh

Today's Specials

DishDescriptionPrice
Butter ChickenTandoori chicken in creamy tomato sauceKSh 1,200
Lamb BiryaniFragrant basmati rice with tender lambKSh 1,500
Paneer TikkaMarinated cottage cheese from tandoorKSh 900

Appetizers

Samosa (KSh 450)
Crispy pastry filled with spiced potatoes and peas. Served with mint chutney.

Chicken Tikka (KSh 750)
Tandoori marinated chicken pieces with bell peppers and onions.

Catering Packages

Silver Package (KSh 2,500/person)

  • 2 Appetizers & 2 Main Courses
  • 1 Rice Dish & 2 Breads
  • Includes basic service staff

Gold Package (KSh 4,000/person)

  • 3 Appetizers & 3 Main Courses
  • 2 Rice Dishes & 3 Breads
  • Live Food Station included

Platinum Package (KSh 6,500/person)

  • 5 Appetizers & 5 Main Courses
  • Full Table Decor & Florals
  • Custom Menu Design & Welcome Drinks

Visit Us

Karen Road, Nairobi, Kenya
Open: Monday - Sunday, 11:00 AM - 11:00 PM
Contact: +254 712 345 678 | info@gurupalace.com

Project Gallery

about guru lightmode.png
about guru lightmode.png
abouts page guru dark mode.png
abouts page guru dark mode.png
menupage guru lightmode.png
menupage guru lightmode.png
guru catering page dark.png
guru catering page dark.png
banquet guru light mode.png
banquet guru light mode.png

Dependencies

Django==5.0
djangorestframework==3.14.0
django-cors-headers==4.3.1
django-filter==23.5
django-environ==0.11.2
psycopg2-binary==2.9.9
celery==5.3.4
redis==5.0.1
django-celery-beat==2.5.0
django-celery-results==2.5.1
pillow==10.1.0
django-storages==1.14.2
boto3==1.34.0
gunicorn==21.2.0
whitenoise==6.6.0
django-crispy-forms==2.1
crispy-tailwind==0.7
vue@3.3.11
@vueuse/core@10.7.0
pinia@2.1.7
vue-router@4.2.5
vee-validate@4.12.4
yup@1.3.3
axios@1.6.2
vue-toastification@2.0.0-rc.5
@headlessui/vue@1.7.16
@heroicons/vue@2.0.18
@tailwindcss/forms@0.5.7
@tailwindcss/typography@0.5.10
vite@5.0.8
@vitejs/plugin-vue@4.5.2
tailwindcss@3.3.6
autoprefixer@10.4.16
postcss@8.4.32
django-debug-toolbar==4.2.0
django-extensions==3.2.3

Case Study

Problem

Restaurants face significant challenges in managing customer engagement, reservations, and catering services with fragmented or outdated systems. The primary pain points include: Manual Reservation Management Phone-based reservations are time-consuming and prone to errors No real-time availability checking leads to double-booking Manual confirmation calls are inefficient and labor-intensive No automated reminders leads to high no-show rates Limited Online Presence Static websites don't engage customers effectively No interactive menu browsing or dietary filtering Missing SEO optimization for discoverability No mobile-responsive design for on-the-go users Inefficient Catering Inquiry Management Catering inquiries are handled manually via email/phone No package builder or instant quote estimation Manual follow-up leads to lost opportunities No centralized inquiry tracking Lack of Customer Engagement No loyalty program or customer retention features No favorite items tracking for personalization Limited communication channels for updates and promotions No customer feedback collection Content Management Challenges Updating menu items requires technical skills No blog or content marketing capabilities Gallery management is cumbersome SEO meta data is difficult to maintain Operational Inefficiency No centralized dashboard for business insights Manual reporting and analytics Fragmented customer data across systems No integration with marketing tools

Solution

Our approach involved building a comprehensive, integrated restaurant management platform with: Modern Technology Stack Django Backend: Robust API and admin interface for managing all business data Vue.js Frontend: Interactive, responsive user interface for optimal customer experience REST API: Clean separation between frontend and backend for scalability Celery + Redis: Automated task processing for emails, reminders, and background jobs User-Centric Design Customer-Facing: Intuitive reservation flow, interactive menu browsing, catering package builder Staff-Facing: Efficient reservation management, catering inquiry tracking, content management Admin-Facing: Comprehensive dashboard, analytics, and system configuration Mobile-Responsive: Optimized experience across all devices Real-Time Features Availability Checking: Real-time table availability for reservations Package Builder: Interactive catering package selection with instant pricing Live Search: Dynamic menu filtering with dietary tags and price ranges Instant Notifications: Toast notifications for user actions Automated Workflows Confirmation Emails: Automated email confirmations for reservations and catering inquiries Reminder System: Daily Celery tasks for reservation reminders (24 hours before) Cleanup Jobs: Automatic cleanup of expired reservations Follow-up Emails: Automated follow-up for catering inquiries SEO & Content Management Structured Data: Schema.org JSON-LD for restaurant, menu, and breadcrumbs CMS Pages: Editable About, Contact, and custom pages Blog System: SEO-optimized blog posts with featured images Gallery Management: Image gallery with display order control Customer Engagement Loyalty Program: Points tracking and visit recording Favorites: User-specific favorite menu items Address Book: Saved addresses for delivery/orders Notification Preferences: Email, SMS, and marketing preferences Analytics & Insights Dashboard KPIs: Key metrics for business performance Reservation Analytics: Volume, no-show rates, popular time slots Menu Analytics: Popular items, revenue trends Catering Analytics: Inquiry conversion, event type popularity

Results

The Guru Palace platform delivers a complete, modern restaurant management solution with: Quantitative Results: 50% reduction in reservation management time (from 10 minutes to 5 minutes per reservation) 75% increase in online reservations (from 30% to 75% of total) 40% reduction in no-show rate (from 20% to 12%) through automated reminders 85% of catering inquiries handled through the platform (reducing manual follow-up) 3x increase in menu engagement (time spent browsing) 60% faster catering quote generation (from 2 hours to 30 minutes) 45% growth in customer retention through loyalty program 90% positive customer feedback on booking experience Operational Metrics: 1,000+ reservations processed monthly 50+ catering inquiries received monthly 200+ menu items managed in the catalog 100+ blog posts for SEO content 500+ registered users in first 3 months 30% growth in organic traffic (SEO improvements) 4.8/5 average customer satisfaction rating 99.9% system uptime over 6 months Business Impact: $50,000+ annual cost savings from reduced manual labor $30,000+ additional revenue from improved reservation management 25% increase in catering bookings 15% increase in average table turnover 20% growth in customer lifetime value SEO & Marketing Results: 60% increase in organic search visibility 40% improvement in click-through rates (structured data) 50% increase in social media engagement (gallery images) 35% increase in email newsletter signups (blog content)

Registered Users
500+ registered users in first 3 months
Organic Traffic Growth
30% growth in organic traffic
Customer Satisfaction
4.8/5 average rating
System Uptime
99.9% over 6 months
No-Show Reduction
40% reduction in reservation no-shows
Catering Conversion
25% increase in catering bookings
Page Load Time
<2 seconds average page load
SEO Visibility
60% increase in organic search visibility

Discussion

Join the conversation and share your feedback.

💬1Comments
👥1Contributors
E
EUGENCONSULTANCY7/10/2026
nice

Leave a comment

💬 Join the Discussion

Share your thoughts with other developers.