Tech Store Desktop Client for the OOP University Module (2020) cover
UniversityDesktop

Tech Store Desktop Client for the OOP University Module (2020)

Problem Statement

As a computer accessories shop grows, managing inventory, sales, and customer data becomes increasingly challenging, especially with outdated paper or spreadsheet methods that are error-prone and difficult to update in real-time. To address this, there's a need for a reliable, easy-to-use desktop application that lets shop owners handle everything from inventory management to sales processing and report generation, all in one secure and scalable platform designed specifically for their retail needs.

Solution Summary

The solution developed is for my university coursework and was a Java-based desktop application tailored for managing the operations of a computer accessories shop. The application allows shop owners to manage their inventory, process sales, and maintain customer information effectively. Key functionalities include stock management, user management and order processing.

This application provides an intuitive graphical user interface (GUI) that simplifies the interaction between the shop owner and the system. The solution not only improves operational efficiency but also enhances data accuracy and provides valuable insights through detailed reporting.

Technologies and Resources

  • Programming Language: Java
  • Development Environment: Eclipse
  • Graphical User Interface (GUI) Framework: Swing
  • Database: Text based
  • Version Control: Github

Implementation

The implementation of the computer accessories shop desktop app involved several key stages:

  1. Requirements Gathering: Understanding the specific needs of a computer accessories shop, such as the types of products sold, typical customer interactions, and necessary reports.
  2. System Design:
    1. Database Design: A relational database schema was designed to store product information, customer data, and sales records.
    2. Application Architecture: The application was designed following the Model-View-Controller (MVC) pattern to separate concerns and improve maintainability.
  3. Development:
    1. User Interface: Developed using JavaFX or Swing, the UI provides an intuitive experience for managing shop operations.
    2. Backend Logic: Implemented in Java, the backend handles business logic, including stock management, order processing, and user management.
  4. Deployment: The application was packaged as an executable JAR file for easy deployment on any system with a Java Runtime Environment (JRE) installed.

Final Solution

The final solution is a fully functional desktop application that meets the needs of a computer accessories shop. The application includes the following features:

  • Product Management: Allows the shop owner to add, update, delete, and search for products in the inventory. Products are categorized, and stock levels are tracked in real-time.
  • User Management: Stores user information, allowing for specific levels of user authorisation
  • Order Processing: Facilitates the creation, updating, and tracking of customer orders. Sales are processed efficiently, with automatic updates to inventory levels.

Conclusion

Overall, the application was a great learning experience as begin my development journey, learning how to address the problems faced by computer accessories shops in managing their daily operations. I learnt how to provide a robust, scalable, and user-friendly tool to improve ecommerce efficiency.