• Stars
    star
    221
  • Rank 173,963 (Top 4 %)
  • Language
    Java
  • License
    MIT License
  • Created over 5 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ‘¨β€πŸ³ An Android based RMS that aims to digitalize the day to day processes of various restaurant operations including ordering, billing, kitchen, hall and inventory management.

πŸ‘¨β€πŸ³ Restaurant Management System

views Open Source Love svg1 GitHub Forks GitHub Issues contributions welcome

Project Description

DineOut is an Android based Restaurant Management System that aims to digitalize the process of various restaurant operations including ordering, billing kitchen, hall and inventory management.

The main purpose is to improve the performance of the restaurant by eradicating the daily paperwork. With this system the tasks would be performed in less amount of time and more efficiently. An additional benefit of this software is that during the rush hours the load can be balanced effectively, and restaurants would perform better than usual. In addition to this, human error that occurs when performing tasks manually is also minimized and presence of queues in the system to assign tasks to chefs can reduce congestion in the kitchen. The system would also result in reduction of labor which would result in the reduction of expenses of the restaurant. Feedback module would help the restaurant check for how well they are performing, and monthly/yearly figures can be checked by the billing module to see the trends in sales and profits. These benefits can potentially result in generation of more revenues for the restaurant.

For complete details regarding the Functional, Non-Functional Requirements and Analysis Models, you can refer to the detailed Software Requirements Specification document.

Purpose

This application was developed as a final project for our Software Engineering (CS303) Course. The whole class was divided into teams of 4-5 members and each team was assigned a particular module of this Restaurant Management System. Besides coding our own module, at the end, our team was also given the responsibility to meet other teams, discuss and resolve the issues that they are facing in the application and ultimately take their developed modules and integrate all the modules together into one working application. This exercise made us familiar with the issues that occur during the integration of modules in real software projects like following consistent database schema, variable names, libraries versions etc.


πŸ‘¨πŸΌβ€πŸ’» Contributors

It was really fun to work with these awesome geeks to get the job done:


User Classes and Characteristics

There are five types of users for our system.

1. Customer Class

Customers interact with our system directly in order to place order, modify order, get bill and give feedback. We do not store any information related to customers in our system. The process of order taking starts from customers placing order and then the other series of events begin.

2. Head Chef/Kitchen Manager

Head Chef can mark a dish as prepared when a chef tells him to do so. He can approve the cancellation of an order whenever a customer edits or removes a dish from his order. He can also assign a dish to a particular chef based on the specialty of the chef.

3. Chef

Chefs don’t interact with the system. They just have to look at the dishes present in their queues and prepare the dishes accordingly. Chef’s name, address and specialty etc. are stored in the database.

4. Admin

Admin’s job is to manage the inventory and other information related to menu and chefs in the system.

5. Hall Manager

Hall Managers will provide its input when he marks the bill as paid when customers pay for their order or get the bill printed. Moreover, he gets a notification whenever a particular order is complete, or some customer asks for help through the system. Hall manager can also see tables in the hall and their status i.e. empty or filled.

Screenshots of some Interfaces and their Description

How to Run

In order to have a look at the code files and understand the working, simply download this repository and open Android Studio and browse to the downloaded project and open it. It will load the project files and the code will be ready to run.

Before running the app, use your Google Account to register this Application on Firebase Console, with any name you want. I have provided a copy of the Firebase Database Firebase Realtime DB Backup. Download it and import it in the Firebase console. Then you will have a working Database for the app. After that using your Google Account, login to Android Studio. Then you can run the project.

The login credentials for Admin, Hall and Kitchen Manager's interfaces are:

All have the password: 123456



Hey there, I'm Haris Ultimate Facebook Scraper (UFS) - Maker of Things

Creator of Ultimate Facebook Scraper (one of the best software to collect Facebook data for research & analysis)


🌐 Connect

🀝 Consulting / Coaching

Stuck with some problem? Need help in solution development, guidance, training or capacity building? I am a Full Stack Engineer turned Project Manager with years of technical and leadership experience in a diverse range of technologies and domains. Let me know what problem you are facing at [email protected] and we can schedule a consultation meeting to help you get through it.

πŸ‘¨β€πŸ’» Technical Skills & Expertise

  • Development of Web Applications, Mobile Applications, and Desktop Applications
  • Development of Machine Learning/Deep Learning models, and deployment
  • Web Scraping, Browser Automation, Python Scripting

Contributions Welcome

forthebadge

If you find any bug in the code or have any improvements in mind then feel free to generate a pull request.

Issues

GitHub Issues

If you face any issue, you can create a new issue in the Issues Tab and I will be glad to help you out.

License

MIT

Copyright (c) 2018-present, harismuneer, rmsharks4, Hassaan-Elahi, mahnoorkashif, shafaq15, marriamsajid, Software Engineering class of Spring 2018

More Repositories

1

Ultimate-Social-Scrapers

πŸ€– Top-rated tools to scrape all major sections from Facebook, Instagram and Twitter including posts (likes/comments), photos/videos, contact informations, followers, following and much more.
2,732
star
2

Clinic-Management-System-ASP.NET

πŸ‘¨β€βš•οΈ A fully featured Clinic Management System based on three tier architecture made using ASP.NET, C# with a well documented README.md file.
C#
169
star
3

Flight-Booking-System-JavaServlets_App

✈️ An enterprise level Flight Booking System for Turkish Airlines (web-application) based on the Model View Controller (MVC) Architecture made using Java Servlets, Java Server Pages (JSPs). Moreover authentication and authorization for users is implemented. The web-application is also secured against SQL Injection and Cross-Site Scripting attacks.
Java
168
star
4

Network-Simulation-Using-Cisco-Packet-Tracer

πŸ–§ Designed this network configuration for the network of three companies, given some constraints. Its an interesting problem demonstrating the concepts of Classless IP Subnetting and using RIPv2 Protocol.
70
star
5

Guide-to-Graduate-CS-Admissions-USA

πŸŽ“ A step-by-step guide containing everything you need to know about Ph.D/Masters admissions in Computer Science. Moreover, it's augmented with excellent resources including scholarships, internships and research programs.
70
star
6

BelalHashmi-Assembly-Exercise-Solutions

πŸ’» This repository provides solutions to most of the programming questions in the exercise given at the back of chapters for Bao Ji's Book (text book for course "Comp. Organization & Assembly Lang. EE213" at FAST). Sharing these with you, so that they might help you in understanding the concepts.
Assembly
47
star
7

Android-Apps-Downloader

πŸ“± A tool to download android apps from Google Play Store and Xiaomi App Store (the famous Chinese Store).
Python
31
star
8

AndroCompare

βš™οΈ An efficient tool to do in-depth comparison of two android apps.
Python
29
star
9

2-3-Tree

🌲 A C++ implementation of all functionalities (insertion, deletion, search etc) of a 2-3 (two-three) Tree using Rotation, Split and Merge operations. (Please share if you find any bug in the code)
C++
11
star
10

Stop-Watch_x86-Assembly

⏱️ A fully featured stop watch made in 8086 Assembly Language, having two modes: Split Timing and Lap Timing
Assembly
10
star
11

Wanderlust-The-Travellers-App

πŸ‘Ÿ An android application for travellers which allows them to save their journey experiences at one place in an organizable way. For detailed description, read the README.md file. Moreover, the application's design follows the latest HCI and UI/UX design guidelines.
Java
9
star
12

Audio-and-FFT-Plots

πŸ”Š A Matlab application which makes the Audio Plot (Amplitude vs Time) and Fast Fourier Transform Plot (FFT) for a given sound file.
MATLAB
9
star
13

Car-Parking-Controller

πŸš— A Car Parking Simulator made in LogicWorks 5 as a final project for the course "Digital Logic Design (EE227)"
7
star
14

Bit-Manipulation-and-Subroutines-8086_Assembly

πŸ–₯️ Interesting solved problems demonstrating the concepts of Bit Manipulation and Subroutines (Functions) in 8086 Assembly Language.
Assembly
7
star
15

how-to-win-coding-competitions

πŸ‘¨πŸΌβ€πŸ’» Presentation for a seminar hosted by ACM on competitive programming.
7
star
16

Graphical-Display-Memory-and-Software_Hardware-Interrupts-x86_Assembly

πŸ“Œ Solved problems to help better understand the important concepts of Display Memory (Video Card Memory), String Manipulation, Software Interrupts and Hardware Interrupts in context of x86 Assembly Language (8086 Assembly)
Assembly
4
star
17

infobot

an information retrieval search engine
Python
2
star
18

harismuneer

Hi, it's Haris. Nice to meet you!
1
star