This is the midterm project for the Advanced programming course held in spring of 2019 written in JAVA. The project aim was to help the student become familer with the fundamentals of object orientation.
This project is consisted of several parts the first one being a TCP server that works as the online shop's server you can use the server to add new users (both admins and simple users) to the database. the server is also responsible for sending live updates to the clients whenever an item is bought or it's stock is changed in any way.
The second part of the project is the client modules that are used for logging in the server and based on the user's authority it gives different levels of access to the user. The admins can add or remove different products and clients can add products to their shopping list, each action leads to sending an update to the server and then from the server to all other clients