Welcome to the Store Chain Management System project repository for Internet Programming course at HIT - Holon Institute of Technology, Summer Semester 2023, under the guidance of Mr. Roi Zimon.
This project is a Client-Server application written in Java and using Azure SQL database.
In order to facilitate the Client-Server communication we developed a system to encode and decode actions and objects so we can send the data through a socket and take the appropriate action on the other side.
-
Real-Time Chat System:
-
Product Inventory Management:
- Interface to manage product inventory for each branch, facilitating buying and selling.
-
Customer Management:
- Interfaces for managing customers across branches, an update is reflected in every branch.
-
Sales Statistics Report:
- Produce a report of sales for a specific product or a category of products to help gain insight about the branch sales.
- Download as a text file
-
Admin Functionality:
- Admin screen for setting up employee accounts, including details and password policy.
-
System Logs:
- Recording logs of actions such as employee and customer registration, sales, record chat history (if Admin enabled)
This project was developed by: @Omer-5, @smooth3x, @Muzikant-Oram-Rahamim
To run the system locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Omer-5/ClothingStoreProject.git
-
Update
Database/Secrets.propertieswith Azure DB credentials -
Create the tables:
CREATE TABLE Customers (
FullName nvarchar(255) NOT NULL,
PhoneNumber nvarchar(255) NOT NULL,
ID int NOT NULL,
Type nvarchar(255) NOT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE Employees (
FullName nvarchar(255) NOT NULL,
PhoneNumber nvarchar(255) NOT NULL,
ID int NOT NULL,
BankAccount int NOT NULL,
Branch int NOT NULL,
EmployeeNumber int IDENTITY(1,1) NOT NULL,
Password nvarchar(255) NOT NULL,
EmployeeTitle int NOT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE Inventory (
branch nvarchar(255) NOT NULL,
productID int IDENTITY(1,1) NOT NULL,
name nvarchar(255) NOT NULL,
category nvarchar(255) NOT NULL,
quantity int NOT NULL,
price float NOT NULL,
PRIMARY KEY (productID)
);
CREATE TABLE PurchaseHistory (
purchaseID int IDENTITY(1,1) NOT NULL,
customerID int NOT NULL,
date datetime2(0) NOT NULL,
branch nvarchar(50) NOT NULL,
PRIMARY KEY (purchaseID)
);
CREATE TABLE PurchaseHistoryItems (
purchaseID int NOT NULL,
productID int NOT NULL
);-
Run
src\Store\Database\Server.java -
Run
src\Store\AppForms\Login.java
