Skip to main content
Navigation
HomeTechnical ReferenceJournalGitHubGitHub
Sidebar — toggle document categories via the logo
Pizza App — Online Ordering Platform

Pizza App — Online Ordering Platform

October 30, 2019

Overview

Pizza App is an online pizza ordering application built with Django. It delivers a complete ordering workflow — from browsing the menu and customizing toppings in a modal dialog, to managing a JavaScript-powered cart and placing an order.

The application is organized into two main Django apps: Products (menu items and CSV import) and Orders (cart, checkout, and order tracking). Admins can manage the menu through the Django admin interface or via bulk CSV upload for rapid population.


Key Features

  • Menu browsing: Browse available pizza items
  • Topping customization: Add and remove toppings via a modal dialog
  • JavaScript cart: Cart managed as a JavaScript object with event listeners
  • Order placement: Checkout with an invisible form submission to the server
  • Order tracking: Track placed orders
  • Admin management: Items managed through the Django admin interface
  • CSV bulk upload: Populate the menu via a Django shell command
  • User accounts: Django auth system for registration and login

Architecture

A two-app Django application:

AppRole
ProductsMenu items and CSV bulk import
OrdersCart, checkout, and order tracking

The ordering experience is driven by custom JavaScript — event listeners on menu items open the topping-selection modal, the cart is built as a JavaScript object, and checkout happens through an invisible form submission to the server. The menu can be populated efficiently via a provided CSV template and a Django shell import command.


Tech Stack

LayerTechnology
FrameworkDjango
FrontendjQuery, Vanilla JS, Handlebars JS
FormsDjango Crispy Forms
Data importCSV bulk upload via Django shell command
AuthDjango auth system