Skip to content
This repository was archived by the owner on Jan 31, 2026. It is now read-only.

Commit d80d7b1

Browse files
committed
README Update
1 parent 6971efa commit d80d7b1

14 files changed

Lines changed: 81 additions & 6 deletions

README.md

Lines changed: 81 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
- [Table of Contents](#table-of-contents)
66
- [Introduction](#introduction)
77
- [Development](#development)
8+
- [Planning](#planning)
89
- [Use Cases](#use-cases)
910
- [Customer](#customer)
10-
- [Database Adminastrator (DBA)/Employee](#database-adminastrator-dbaemployee)
11+
- [Database Administrator (DBA)/Employee](#database-administrator-dbaemployee)
12+
- [Conclusion](#conclusion)
1113

1214

1315
## Introduction
@@ -24,16 +26,89 @@ This project can also be used as a framework for creating similar applications f
2426

2527
Originally this project was meant to be created using ```Visual Studio Code``` due to the better ```Git``` integration that it provides however due to some issues with ```Maven``` and ```Visual Studio Code``` not accessing the correct ```JDBC``` driver the ```IDE``` was changed to ```Eclipse```. After the project was completed, it is also runnable on ```Visual Studio Code``` after adding the required arguments due to the use of a ```Maven``` project in ```Eclipse``` which uses the correct ```JDBC``` driver.
2628

29+
## Planning
30+
31+
To streamline the database creation a plan was needed for the database. To complete this an ```Entity Relationship Diagram``` was used:
32+
33+
[<img src=resources/ER_Diagram.png height=700>](resources/ER_Diagram.png)
34+
2735
## Use Cases
2836

29-
This application was developed for two main use cases, first is the customer and second is the Database Adminastrator (DBA)/Employee.
37+
This application was developed for two main use cases, first is the customer and second is the Database Administrator (DBA)/Employee.
38+
39+
To attach the database to the application a ```command line argument``` is expected:
40+
41+
```bat
42+
java -jar DatabaseManagementSystem.jar jdbc:oracle:thin:system/password@localhost:1521:xe
43+
44+
:: start javaw -jar DatabaseManagementSystem.jar jdbc:oracle:thin:system/password@localhost:1521:xe
45+
:: Change 'system' to be the user, 'password' to be the password, 'localhost' to be the host, 1521
46+
:: to be the port and 'xe' to be the service id.
47+
:: Example: jdbc:oracle:thin:system/RomitSagu@localhost:1521:xe
48+
:: Note this DBMS only works with Java 19+ and Oracle 21c XE at the time of its creation.
49+
```
50+
This is the ```launch.bat``` which is included in the release.
3051

3152
### Customer
3253

33-
Customers are expected to be able to interface with the application like they would any e-retailer had have a similar experience.
54+
Customers are expected to be able to interface with the application like they would any e-retailer had have a similar experience.
55+
56+
After the configuration above in [Use Cases](#use-cases) is complete to access the DBA/Employee use case from the main menu select DBA/Employee.
57+
58+
[<img src=resources/main_menu.png height=200>](resources/main_menu.png)
59+
60+
From this screen the customer can login using the email and password of a customer in the database:
61+
62+
[<img src=resources/customer_login.png height=225>](resources/customer_login.png)
63+
64+
After loging in, the customer can search for and select items they which to purchase, logout or buy the selected items:
65+
66+
[<img src=resources/customer_purchase.png height=450>](resources/customer_purchase.png)
67+
68+
When the customer presses the buy button, they are presented with a confirmation screen to checkout with what they have selected and are given the subtotal and total after tax. From here they can press the checkout button or cancel the order and be returned to the screen where they can choose the items they wish to purchase:
69+
70+
[<img src=resources/customer_checkout.png height=350>](resources/customer_checkout.png)
71+
72+
If the customer checks out they are presented with a screen that has their InvoiceID for the order they just put in and they are given the option to logout:
73+
74+
[<img src=resources/customer_invoice.png height=225>](resources/customer_invoice.png)
75+
76+
### Database Administrator (DBA)/Employee
77+
78+
The Database Administrator (DBA)/Employees are expected to have the ability to create the tables for the application, populate the tables, query the tables, add entries to the tables, delete entries from the tables and to drop the tables.
79+
80+
After the configuration above in [Use Cases](#use-cases) is complete to access the DBA/Employee use case from the main menu select Employees.
81+
82+
[<img src=resources/main_menu.png height=200>](resources/main_menu.png)
83+
84+
From this screen the DBA/Employee can login using the email and password of an Employee in the database:
85+
86+
[<img src=resources/employee_login.png height=225>](resources/employee_login.png)
87+
88+
The default login for the only local user is Email: Admin and Password: Admin. After this is entered the DBA is met with an error message saying that the database has not yet been created and that error will persist for any tab that the DBA tries to enter:
89+
90+
[<img src=resources/employee_menu.png height=225>](resources/employee_menu.png)
91+
92+
After the error message has been cleared the options for the DBA become available:
93+
94+
[<img src=resources/employee_menu2.png height=225>](resources/employee_menu2.png)
95+
96+
After clicking out of the error message the DBA should first create the tables and populate them with their respective buttons:
97+
98+
[<img src=resources/employee_create_tables.png height=225>](resources/employee_create_tables.png)
99+
100+
[<img src=resources/employee_populate_tables.png height=225>](resources/employee_populate_tables.png)
101+
102+
From here the many options open for the DBA, they could drop the tables as a test, they could go and view the tables that were created and populated with data, they could also logout of the local user’s account and login with the information of an employee. Below the data for the Customer table is shown as well as the options that are associated with it.
103+
104+
When accessing one of the table’s interfaces the DBA can search for specific information based on the search available for that table for example in the Customer table customers can be searched for by name. The DBA can also enter data to create a new entry in the database at this point as well.
105+
106+
[<img src=resources/employee_customer_table.png height=500>](resources/employee_customer_table.png)
107+
108+
The DBA can then also drop the tables:
34109

35-
</br>
110+
[<img src=resources/employee_drop_tables.png height=225>](resources/employee_drop_tables.png)
36111

37-
### Database Adminastrator (DBA)/Employee
112+
## Conclusion
38113

39-
Database Adminastrator (DBA)/Employee are expected to
114+
To conclude the application was created to manage a database that would act as a ```Point of Sale System``` for a store such as Shoppers Drugmart. There are two parts of the application one for the ```Database Administrator (DBA)``` and a second for ```Customers``` who wish to purchase items. The application uses ```Oracle 21c``` and a ```JDBC``` driver that works to connect the application to a database. A production ```release``` is available to download and will work as documented after changing the ```command line arguments``` in the ```launch.bat``` file.

resources/ER_Diagram.png

272 KB
Loading

resources/customer_checkout.png

80.9 KB
Loading

resources/customer_invoice.png

49.2 KB
Loading

resources/customer_login.png

40.7 KB
Loading

resources/customer_purchase.png

159 KB
Loading
31.6 KB
Loading
39.8 KB
Loading

resources/employee_drop_tables.png

30.4 KB
Loading

resources/employee_login.png

40.1 KB
Loading

0 commit comments

Comments
 (0)