Skip to content

This project focuses on helping shops (groceries, cookware, etc.) efficiently manage stock details, streamline the sales process, and improve overall inventory management through accurate data handling.

Notifications You must be signed in to change notification settings

Eren-Acar/Inventory-Managment-System-ACM321-Project

Repository files navigation

Contributors:

InvenTech: Inventory Management System

Project Introduction

This project was designed for Yeditepe University Faculty of Computer and Information Sciences for ACM 321 - Object-Oriented Programming course (2024-2025 Fall). The work is targeted at shops (groceries, cookware, etc.) to save their existing stock details, complete the sales process in a short time, and deliver, in the best way possible and with the correct quantity of data, accurate inventory data, and to improve the management of the shop as a whole. With this system, it is possible to track product condition, sales, and manage inventory. The realized project is developed as a Java program using SQLite as the database management system and the Swing framework for the graphical user interface.

Description of image

Figure 1: Dashboard


Main Features:

  • Login, Register, and Logout: Allows users to safely log in and out of the system. User information is encrypted using SHA-256.
  • CRUD Operations: Add, update, delete, and list functions for products, categories, customers, and orders.
  • Statistical Data: Various reports and statistics based on sales and product information are shown on dashboards.
Description of image

Figure 2: Login and Register Page


Main Functions:

  • Inventory Management: Add, edit, and delete product and category information.
  • Sales Management: Create invoices and track customer orders.
  • Customer Management: Store customer information and manage sales relationships.

Data Import/Export:

  • CSV Support: Data import/export is supported for categories, products, and customers.
    Description of image

    Figure 3: Import Products Panel


System Architecture:

  • Graphical Interface: A user-friendly interface designed using Java Swing.
  • Database Management: Reliable data storage provided by a relational database using SQLite.
  • Business Logic Layer: Core functions such as CRUD operations, stock control, and sales management are handled here.
Description of image Description of image Description of image

Figure 4-5-6: CRUD and List Operations


Database Schema:

The database structure is organized to correctly link products in stock, customers, and sales. Key tables include:

  • CustomerTable: Stores customer information.
  • CategoryTable: Contains product categories.
  • ProductTable: Manages product information.
  • InvoiceTable: Holds invoice and payment details.
Description of image

Figure 7: Database Relationship Diagrams


Object-Oriented Design:

  • Classes and Objects: Each panel (e.g., CustomerAddPanel, OrderAddPanel) has its own methods to perform specific tasks.
  • Inheritance: Panels are derived from the JPanel class to manage events and user interactions.
  • Polymorphism: Button actions are handled using ActionListener to perform context-specific tasks.
Description of image

Figure 8: Project Folder Structure

About

This project focuses on helping shops (groceries, cookware, etc.) efficiently manage stock details, streamline the sales process, and improve overall inventory management through accurate data handling.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages