So we are back into another individual project week. We have had a week of learning basic Java, followed by a week of learning basic Android development, leading into a week of individual project work.
None of the suggested options were particularly inspiring at first glance, so I went off on a slight initial tangent thinking about what else I could do. I did think of a fortune telling app using Tarot cards, then I thought of a card playing app using Tarot cards (there are a million Tarot games). Then I thought that was too complicated, so I was thinking of a simple trick-taking game like “The Cow Game“, a simplified version of “Aluette“.
But in the end I thought I wouldn’t go the trouble of writing my own brief and decided on one of the suggested ones:
Goal: Practice OO modelling in Java (unit tests, no UI)
You are required to build an app that allows a Shop to sell goods to a Customer. Stock and items are not important.
The Shop must be able to:
- Make a Sale
- The customer funds go down, shop sales go up
- Give a refund
- The customer funds go up, shop refunds go up
- Report on income
- Total sales minus total refunds
The Customer must:
- Have a collection of possible Payment Methods:
- CreditCard (default), DebitCard
- Be able to select a Payment Method to pay at any Shop
- Be able to select a Payment Method to recieve a refund onto a given Payment Method
(You may find HashMaps useful for this project)
- Add stock tracking
I thought, let’s just go boring. But I had a half hour planning session with Bobby, the other cohort members who is doing this project, and it got pretty complicated pretty quickly.
It’s going to be a challenge, but boring though it sounds, I’m getting a bit excited about working on it.
Maybe another extension could be customer complaints?