Restaurant Point of Sale System

April 25 2018

Vector graphic of a pascal's triangle


  • Java
  • Adobe Photoshop (Image Assets)
  • Adobe Xd (Wireframing)

First OOP Class

CSCI-212: Introduction to Object-Oriented Programming was my first exposure to Java. Over the course of 4 months, our class was introduced to the 4 paradigms (Encapsulation, Abstraction, Polymorphism and Inheritance ) of Object-Oriented Programming. For me, Java had a steep learning curve, but by the end of the semester, I grew to love the language. It was well structured and strongly object-oriented; a drastic change from the languages I had learned before (Racket, Lisp).

This class was intense. It had weekly coding projects, quizzes and assignments but I enjoyed every part of it. The weekly projects helped me think in code. I used to sit for hours looking at the assignments, trying to figure out each part until all of it fell in place at once.

The last section of this class was the final project which required students to create a Point of Sale System for a restaurant. A short client brief was provided to us listing the components that the restaurant system required.

Client Brief

You are hired to create a project that will mimic a Point of Sale System that a restaurant will use to enter their orders. These systems are used for their kitchen staff to receive the order and handle payments. This system will keep track of all the information necessary for the server to select the entrees and sides that the customers at a table will order. It will also offer a payment method. The System can be boiled down into 3 Perspectives.

Software Development

This project was my favorite part of the class. I had absolute independence in designing the software. I used Adobe Xd to create a simple user story that would show the steps a waiter would have to take to reserve a table, place orders and finally, create a customer invoice. While designing the user interface, I would constantly think about the code I would have to write to create those features. That is when I learned how to decide what classes to create and how to structure their flow. After designing and re-designing numerous UML Diagrams and endless nights of coding, here are the pictures of the final product:

Home page of the software

Home page of the software

Photo of the login page

Log-In Page for Servers

A view of tables available at the restaurant

Red tables are already reserved. Yellow tables are being served by other waiters. Green tables are still available to customers.

Menu for selecting entrees

Menu for selecting entrees

Menu for selecting sides

Menu for selecting sides

Checkout page with order summary

Checkout page with order summary

Manager view when they are logged in

Managers can add, delete or edit servers in the database