AsjadIqbal / InventoryManagementSystem

This is an inventory management software built in Java using MySQL database that can be used at any Point of Sale of a small to mid-sized store.
122 stars 65 forks source link
database database-management desktop-application gui-application inventory inventory-management-system inventorymanagementsystem java jdbc mysql swing

Inventory Management System

This is an Inventory Management System built in the form of a GUI desktop application developed in Java using MySQL as its database. The GUI was designed using Swing and the database connectivity was managed using JDBC API.

This application can be used by any small to mid-sized stores to easily maintain and manage an inventory of all their-

Features of the Application

How to download and run the software

Minimum Requirements: JDK or JRE version 16.

  1. Download and unzip the ZIP folder: InventoryManagement.zip
  2. Download the SQL dump file
  3. Import the SQL dump file using MySQL Workbench to locally create the sample schema and tables associated with this software.
  4. After the inventory schema has been locally created, you can go ahead and run the JAR file (InventoryManagement.jar) included in the zip folder.
  5. Default credentials for the connection to MySQL database is:

    • Username: root
    • Password: root

    Incase your database uses a different username and password to connect, follow these steps:

    1. Go to the lib folder in the zip file that you downloaded.
    2. Open the XML source file DBCredentials.xml.
    3. Simply change the values of the two entry tags with values username and password from "root" to whatever username and password you are using. (Ln 12 and 13)
        <properties>
        <comment>Credentials for the database.</comment>
          <entry key="username">root</entry>
          <entry key="password">root</entry>
        </properties>
  6. Once these credentials match, the JAR file should execute without any issues provided that you have the minimum JRE.
  7. You can log into the application using Username: root and Password: root.

Note:

All the project dependencies are available in the lib directory.


Application Preview

Login Page

The login page takes in the credentials entered by the user and verifies with the database.

loginpage

Dashboard/Welcome Page

The landing page of the application after a successful login.

welcome

Products

The products section allows the user to add, edit and delete products from the store's inventory.

products

Current Stock

This section allows the user to check the availability of every item.

stock

Suppliers

Here, the user can manage and manipulate the record of all the suppliers associated with the store.

suppliers

Customers

Allows user to add new customers or update/delete existing customers in the database.

customers

Sales

This section is where users can sell a product and manage all the sales transactions. The user only needs to enter the customer and product code and the software will handle the rest, showing all the necessary details like available stock and selling price of the product.

sales

Purchase

This section is where users can view purchase logs and enter new purchase transactions. Similar to the sales section, this section only requires the user to enter the product code and the details that are already available in the database will immediately be displayed in the respective spaces.

purchase

Users

This section is only available to ADMINISTRATORS. It allows them to view, add and delete any users.

users

User Logs

Stores and shows the administrator a log of all the users that have previously logged in, including their login time and logout time.

logs


Technologies Used

The following are the technologies that have been used in the development of this project. All of them are free to use.

ER Diagram

The ER diagram for the sample schema that has been used in the application.

erdiag

Source Code

The software code has been divided into four different packages:

Click here to skip directly to the source code.

Work-in-Progress

This project is a work in progress and more features are yet to be added with new technologies.