What it does / How to use
There are 2 user types: admin and customer (found in
UserAccounts.txt). Both can view the whole collection of books, and are given the option to do so in the startup menu, which also provides a dropdown of usernames to select from. If the selected user is an admin, they will be prompted to choose a book type to add to the stock. Otherwise, customers will be prompted to search for books to add to their basket and can either checkout (credit card/Paypal) or cancel and clear the basket.
Each customer action (checkout/cancel) is logged and written to
ActivityLog.txt, storing the following information:
- user ID; postcode; ISBN, price, book quantity, purchased/cancelled, payment method**, current date (dd-mm-yyyy)
The book data is stored in
Stock.txt and each row contains information for a book in the following order:
- ISBN number
- book type (paperback/audiobook/ebook)
- release date
- page count / listening length (depending on type)
- condition / format (depending on type)
** Note: payment method is logged as
" " for cancelled orders. **
How I built it
Layout designed in Figma. Built entirely with Java and Java Swing. Duration: 3 days
Considering this was a fairly rushed project due to time constraints, I am pleased I was able to design and develop a functional application in such a short time frame, especially since this was my first attempt at GUI programming and also my first Java project.
What I learned
Bettered my object-oriented and GUI programming. Also learnt the scenarios where specific data structures are more efficient than others, for example, knowing when to use a HashSet over an ArrayList.