Skip to content

About

Introductory Java console application demonstrating object-oriented principles with products and inventory (1st DAW Academic Project, STUCOM).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛒 Java Store Fundamentals (OOP Core)

Java OOP STUCOM

🎓 Academic Project: Fundamental Object-Oriented Programming assignment developed for the 1st year of Web Application Development (DAW) at STUCOM Pelai (Barcelona).


Descripción del Proyecto

A console-based inventory management and point-of-sale store application developed in Java. It demonstrates essential OOP principles including data encapsulation, collection processing with ArrayList, financial operations with an Amount value object, and product sales recording.


🧱 Architecture & Class Diagram

classDiagram
    class Shop {
        -Amount cash
        -ArrayList~Product~ inventory
        -ArrayList~Sale~ sales
        +main(args) void
        +loadInventory() void
        +showCash() void
        +addProduct() void
        +addStock() void
        +setExpired() void
        +showInventory() void
        +sale() void
        +showSales() void
    }

    class Product {
        -String name
        -Amount publicPrice
        -Amount wholesalerPrice
        -boolean available
        -int stock
        +expire() void
    }

    class Sale {
        -Client client
        -ArrayList~Product~ products
        -Amount amount
    }

    class Amount {
        -double value
        -String currency
        +getValue() double
    }

    Shop "1" *-- "many" Product : manages
    Shop "1" *-- "many" Sale : records
    Sale "1" o-- "many" Product : contains
    Product "1" *-- "2" Amount : prices
Loading

✨ Features

  1. 💰 Cash Register Balance: Real-time visibility of current cash liquidity.
  2. 📦 Add Product: Register new merchandise into the store inventory.
  3. 📈 Stock Replenishment: Increment units for existing stock items.
  4. ⚠️ Product Expiration: Mark perishable items as expired.
  5. 📋 Inventory Audit: Full listing of catalog items, quantities, and prices.
  6. 💳 Sales Processing: Process customer purchases and record revenue.
  7. 🧾 Sales History: Comprehensive ledger of past sales and orders.

🚀 How to Run

# Clone the repository
git clone https://github.com/Ignaciobrenas/SHOP.git

# Run via NetBeans IDE or compile directly with Java
javac -d bin src/main/*.java src/model/*.java
java -cp bin main.Shop

👤 Author

Ignacio Breñas Muñoz — 1º DAW, STUCOM Pelai

About

Introductory Java console application demonstrating object-oriented principles with products and inventory (1st DAW Academic Project, STUCOM).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages