MatthewKarko / Stockify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Logo

Stockify

Inventory Management System

Table of Contents
  1. About The Project
  2. Working Functionalities
  3. Getting Started

About The Project

Stockify is our customised solution to the problems observed in current stock inventory management systems. We have found a particular use case of it applied in the construction industry, where there is excess stock that is normally not tracked. A business may have a batch order for new steel beams, and the supplier will send them their steel beams. The business will cut the amount needed for their project and then rest be stored without systematic tracking. This gap in inventory management can lead to inefficiencies when assessing whether there's a need for new orders or if the reserve stock suffices. Stockify hopes to help the business in managing their excess of products and streamline the entire stock management process for both supplier and customer through centralising the process on our online platform.

Built With

Major frameworks/libraries used in Stockify along with their version:

Backend

  • Spring Spring Version
  • Java Java Version
  • MySQL MySQL Version
  • SendGrid SendGrid Version

Frontend

  • React React Version
  • MaterialUI MaterialUI Version
  • Firebase Firebase Version

Working Functionalities

Services and Functionalities

  1. Register and Login - Users can register as a Supplier or a normal Customer. Their account will be associated with their role, and when they log in, will be redirected to either the Supplier or Customer dashboard.
  2. Edit and Update User Details - Suppliers can manage their employees on Stockify by adding, deleting, editing employees under their business.
  3. Inventory Browsing - Customers can be linked to a Supplier and view their current inventory and available stocks.
  4. Update Their Inventory - Suppliers can update their inventory by changing their stocks, adding new products, removing current products and edit existing inventory details.
  5. Shopping Basket - Customers add a product and amount they would like to purchase into a shopping basket. The purchase will not be made until they check out from their shopping basket.
  6. Order Payment Confirmation and Invoice - Once a customer checks out from their basket, an completed payment invoice is sent both to the Supplier and the Customer via email.
  7. View Order History - Customers can view their previous order history.
  8. View Statistics - Suppliers can view their open orders and completed orders, as well as their total revenue.

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

Please install the following libraries in order to get started:

  1. Node.js and NPM

    MUST be version 14+, instructions can be found on node's website specific to your system
    
  2. Java Version 17

    MUST be version 17, refer to java documents for your specifc machine
    
  3. Gradle

    MUST be for your system
    

Running the Backend Microservices

Please ensure that Node and Java installed on your system. Run backend before running frontend.

  1. Clone the repo
    git clone https://github.sydney.edu.au/mkar6206/ELEC5619-Stockify.git
  2. Depending on whether you're on MacOS or Windows, please run the following shell command to run all microservices in the backend folder:
    # Windows
    start_microservices.bat # Run this in the backend folder in Command Prompt
    
    # MacOS
    chmod +x start_microservices.sh # Make your script executable in Terminal
    ./start_microservices.sh # Run this in the backend folder

Running the Frontend

  1. Run the following commands in the frontend folder to start up the GUI
    npm install
    npm run start

About


Languages

Language:Java 56.2%Language:JavaScript 42.5%Language:CSS 0.6%Language:HTML 0.4%Language:Shell 0.2%Language:Batchfile 0.1%