Personal Care Reward Redemption System

Java-based retail system implementing reward points, customer profiles, and redemption logic.

About the Project

The Personal Care Reward Redemption System is a Java-based application designed to simulate a real-world retail point system. Customers earn points based on spending and can redeem those points for rewards. The system also includes user authentication, account management, transaction history, and a dynamic reward redemption feature.

Key Features

  • Supports both Regular and Premium customer types with different earning multipliers and benefits.
  • Implements point earning logic based on transaction amount and customer status.
  • Login and account recovery system using stored customer credentials.
  • Reward redemption with point deduction and redemption history tracking.
  • Policy module defining terms, expiry dates, and annual point resets.
  • Payment module for account top-ups, including transaction fees and bonus points.

System Descriptionn

The system features two types of customers — Regular and Premium. Premium users enjoy higher point multipliers (RM1 = 1.5 pts) and three free transactions before a RM0.50 processing fee applies. Regular users earn 1 pt per RM1 and pay a smaller annual fee. Customer accounts, including their personal and transactional data, are stored in a local database file.

When logged in, customers can view and manage their account balance, reward points, fees, and contact details. Points can be redeemed for rewards, which are displayed in a structured table with dynamic updates based on redemption history.

Modules

  • Policy and Point Earning — Defines earning ratios, expiry rules, and customer tiers.
  • Reward Redemption — Displays available rewards, manages redemptions, and logs history dynamically.
  • Contact Information and Profile — Stores and manages user data including login credentials and account info.
  • Payment Module — Handles top-ups, applies transaction fees, and updates point balances automatically.

Objective & Outcome

This project was designed to enhance customer engagement by integrating an interactive point-based reward system. It provides users control over their top-ups and redemptions, while showcasing the use of object-oriented programming (OOP), file handling, and modular system design in Java.

Project Information

  • CategoryJava Application
  • TypeRetail Reward System
  • ToolsJava (OOP, File I/O), Database File
  • Project DateMay, 2024
  • Project URL(Private / Demo)