Skip to content

LilBank/restaurant-pos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restaurant Point Of Sale (POS)

Restaurant POS is the application replacing the use of paper for ordering system. It can be very useful to restaurants that currently lack uses of technology, and also improve efficiency and speed of transaction.

Prerequisites

What things you need to install in the application.

Installing

  1. Download the whole folder containing runnable jar file.

  2. Add these JAR files by following the steps below.

    Open the project -> Build Path -> Configure Build Path.. -> Add External JARS..

Deployment

Note: This application required an Internet Connection

There are 3 modes for user.

  1. Manager mode - Customize the menu and table and also remove the employee.
  2. Employee mode - Receive the order from customer and Check bill of each table.
  3. Customer mode - Order the dishes and display to the Employee view.

With security, every employee must sign up and login in work so we could classify which dish is ordered by who in case of responsibility needed. (all user, menu and table data are stored in database)

Running

Login

Manager mode or Employee mode is shown depending on user's access level.

capture2

Manager Mode

Manager has more functions than Employee.

capture10

Edit Menu Function

capture5

Remove User Function

capture6

Manage Table Function

capture7

Order Foods and Drinks Function

capture12

Summary Function

capture9

Employee Mode

Sign up for new employee.

capture3

Employee is able to access to the Table View. (Same as manager but less function)

capture8

Customer Mode

Start Interface

capture1

User Interface

capture

Packages

  • application - Contains all the application classes including Main class.
  • view - Contains all the FXML linked with Scene Builder.
  • controller - Contains all the controllers of each application class
  • database - Contains a class having methods to manage the database.
  • model - Contains all the object classes of the application.
  • util - Contains all the utility classes and interface.

Patterns

There are some design and technology used.

  • MVC Pattern (Model-View-Controller) - Used for separating application's concerns.
  • Singleton Pattern - Used for encapsulating customer's orders and can be used in many classes.
  • Observer Pattern - Used for displaying ordered items and observing changes in database.

Technology

Map Interface

Interface Map<K,V> - ( K - the type of keys maintained, V - the type of mapped values )

Concept: If you call a key, you get a value. But the value does not return the key.

Database

Database is a storage of data, where user can access the data any time and any where using

Usability: Both Customer's and Manager's program can access the same data .

jBCrypt

jBCrypt is a java used for hashing password. With high quality of algorithm, it prevents the hacker from hacking the password in the database. Users can use the method checkpw( your password, password in database) to check if the password matches or not.

Additional: Try using PreparedStatement with wildcard (?) for preventing SQL Injection

sqlCommand = "SELECT * FROM User WHERE name = ?";
	PreparedStatement stmt = connection.prepareStatement(sqlCommand);
		stmt.setString(1, user);
		if (BCrypt.checkpw(yourPass, databasePass)) {
			dowork();
		}
		stmt.executeQuery();

Built With

Developers

  1. Piyawat Setthitikun (bankkeez)
  2. Vichaphol Thamsuthikul (kimvcp)

About

🌐 Restaurant Point Of Sale (POS) - (Database is closed)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages