Skip to content

kalana03/POS-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›’ Lab Exercise: IO Operations & Serialization (POS System)

πŸ“‹ Overview

  • Topic: IO Operations and Serialization
  • Type: Group Task
  • Scenario: You have been hired to develop a Point of Sales (POS) system for the "Super-Saving" supermarket chain.

🏬 The Scenario & Functionality

1. The Billing Process 🧾

  • Input: The cashier enters an item code and the amount/quantity.
  • Data Retrieval: The system fetches details (price, weight/size, manufacturing/expiry dates, manufacturer) from a CSV database.
  • Discounts: Items are occasionally given discounts ranging from 0% to 75%.
  • The Final Bill: The system processes the list and produces a bill containing:
    • Cashier Name & Branch
    • Customer Name (if registered)
    • Item List (Unit price, Quantity, Discount, Net price)
    • Totals (Total Discount, Total Cost)
    • Timestamp: Date and time the bill was printed.
  • Output Format: The final bill for the customer must be saved as a PDF file.

2. Handling "Pending" Bills ⏳

  • The Problem: A customer might forget to weigh an item (e.g., vegetables) after half their items are already scanned.
  • The Solution: The cashier must be able to save the current bill as "pending" and proceed to check out other customers while the first customer retrieves their missing item.
    • Hint: This usually requires object serialization to save the temporary state of the bill.

3. Management Reporting πŸ“Š

  • Analysis: The system must analyze bills to generate a total revenue report for a specific date range.
  • Delivery: This report must be automatically emailed to the sales team at salesteam@supersaving.lk.

πŸ› οΈ Your Tasks

Task 1: Requirements Analysis πŸ“

Identify all Functional and Non-Functional requirements for the POS system based on the scenario above.

Task 2: Data Format Strategy πŸ’Ύ

Decide on the best file formats to use for saving data for each requirement (e.g., What format is best for a printable bill? What format is best for a temporary pending bill object?).

Task 3: Implementation (Java) β˜•

Design and implement the solution using Object-Oriented Programming principles.

⚠️ Critical Implementation Constraints:

  1. Single File Only: You must include all classes in a single file. (Note: This is generally bad practice, but required here for grading).
  2. Naming Convention: The class containing the main method must be named: SuperSaverPOSGroup_<<Your Group Name>>.
  3. Documentation (Javadoc):
    • Top of File: Include a Javadoc comment listing your identified requirements and explaining the overall program functionality.
    • Code Level: Every class and method must have a Javadoc comment explaining its functionality and parameters.
  4. Readability: Ensure proper variable naming and comments throughout.

πŸ“€ Submission Guidelines

  • File Format: Save your Java code as a PDF file.
  • Rename: Rename the file with your group name.
  • Plagiarism Check: This is a Turnitin assignment.
    • Similarity must be less than 20%.
    • Submissions with higher similarity will not be graded.

About

Reattempt of a POS system assignment with Java implementing serialization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages