Skip to content

weiiilunnnn/object-oriented-development-project

Repository files navigation

Purchase Order Management System

Built for Omega Wholesale Sdn Bhd (OWSB)

Overview

This project is an automated Purchase Order Management System designed for Omega Wholesale Sdn Bhd (OWSB), a growing wholesale supplier based in Kuala Lumpur. The system replaces their manual procurement process with a structured, efficient, and error-resistant digital platform.

Developed using Java (Object-Oriented Programming) principles and Swing GUI, the system supports role-based access and document automation features essential for managing inventory, suppliers, requisitions, orders, and payments.


Features

🔐 User Management

  • Admin-controlled login & registration system
  • Role-based access (Admin, Sales Manager, Purchase Manager, Inventory Manager, Finance Manager)

📦 Inventory & Supplier

  • Add, update, delete, and search inventory items
  • Supplier management with supplier-item relationships
  • Low-stock alert & item validation

🛒 Procurement Workflow

  • Create, approve, and manage Purchase Requisitions (PR)
  • Generate & approve Purchase Orders (PO)
  • Track PO statuses (Pending, Approved, Verified)

💰 Finance & Payments

  • Supplier payment processing with validation
  • Generate receipts with tax and total calculations

📊 Reports & Documents

  • Generate PDF reports for:
    • Stock
    • Finance
    • Payment receipts
  • Auto-generate and download receipts

Object-Oriented Concepts Used

This project was built by fully applying OOP principles:

  • Encapsulation — Private fields with public accessors (getters/setters)
  • InheritanceUser superclass with subclasses for different roles
  • Polymorphism — Overridden accessMenu() for role-specific UI
  • Abstraction — Abstract classes/interfaces like PdfGenerator
  • Constructor Overloading, Composition, Association, Aggregation, and Exception Handling implemented throughout

User Roles & Access

Role Key Functions
Admin Manage users, view all modules
Sales Manager Manage inventory, suppliers, daily sales, create PR
Purchase Manager Approve PR, generate PO
Inventory Manager Track stock, generate stock reports
Finance Manager Approve/verify PO, process payments, financial reports

Technologies Used

  • Java (JDK 8+)
  • Java Swing (GUI)
  • File I/O for data storage (text-based)
  • iText PDF (for PDF generation)

How to Run

  1. Open the project in Apache NetBeans or any Java IDE.
  2. Run the LoginGUI.java or designated main class file.
  3. Login using default/admin credentials or register new users (admin only).
  4. Navigate features based on assigned roles.

⚠️ All data is stored in .txt files locally. Ensure file paths are correct if relocating the project.


Screenshots

Item Entry
image

Supplier Entry
image

Daily Sales Entry
image

Purchase Requisition List
image

Create Purchase Requisition
image

View Purchase Order
image

PR & PO Approval
image image

Manage Stock
image

View Receipt
image


Conclusion

The Purchase Order Management System streamlines OWSB’s procurement workflow by:

  • Reducing manual errors
  • Improving internal coordination
  • Supporting data-driven decisions via reports

While effective, its dependency on accurate data input and basic security measures should be noted for real-world deployment.

About

Object-Oriented Development Project on Java, an Automated Purchase Order Management System

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages