Back to Projects

Programming Project

Nile Dot Com - Event-Driven Java GUI

A Java desktop application that simulates a simple e-commerce workflow with inventory search, cart management, discounts, invoice generation, and transaction logging.

Overview

Nile Dot Com is a Java GUI project designed to simulate a small online ordering system. The application lets a user search inventory by item ID, add products to a cart, apply quantity-based discounts, view a running subtotal, complete a purchase, and generate a formatted invoice.

This project helped me practice event-driven programming, user interface design, file handling, and building a program that walks a user through a complete task from start to finish.

Technologies Used

  • Java
  • Java Swing
  • Event-Driven Programming
  • File I/O
  • GUI Design

Core Features

  • Search inventory records by item ID
  • Validate user input before processing
  • Display item description, price, and discount details
  • Add multiple items to a shopping cart
  • Calculate subtotals and final totals
  • Generate a transaction summary and invoice
  • Log completed transactions to a file

What This Project Demonstrates

  • Building a multi-step user workflow in Java
  • Connecting GUI actions to program logic
  • Reading structured data from files
  • Formatting program output clearly for users
  • Managing state as items are added to a cart

Application Workflow

The user enters the number of items they plan to purchase, searches for items one at a time, reviews the returned product information, and adds each item to the cart. As the cart grows, the interface updates the subtotal and keeps track of the items selected. Once the order is complete, the application displays a final invoice and records the transaction details.

This flow made me think carefully about how users move through an application and how the program should respond at each step without becoming confusing or error-prone.

Project Screenshot

Screenshot of the Nile Dot Com Java GUI project
Example interface from the Nile Dot Com event-driven Java application.

Challenges and Lessons

One of the main challenges in this project was keeping the interface state consistent as the user moved through different actions such as searching, adding items, finalizing purchases, and resetting for another transaction. It also required careful handling of file input and output so the inventory data and transaction logs worked correctly.

What I Learned

This project strengthened my understanding of Java GUI development, event handling, structured program flow, and how to design software that feels usable instead of just technically correct.

Skills Demonstrated

  • Java
  • Swing
  • GUI Workflow Design
  • Input Validation
  • File I/O
  • Transaction Logging