StudySpot is a program where you can record info about a coffee shop, rate the coffee shop's aesthetic and food, and add coffee shops that you wish to visit. In this app, you will be able to enter in information of a coffee shop such as:
- Location
- Operation Hours
- Food
- Wifi Accessibility
- Wall Outlet Accessibility
- etc. All of your entries will be entered into a database where you view all the info about individual cafes.
My target audience for this project are students and remote workers. People who need a change of scenery will benefit from this program as they can browse different coffee shops and filter based on their own needs.
This project is of interest to me because my girlfriend and I started a TikTok page in the summer where we visited different cafes around Vancouver, rating them on their ease for studying. Turning this TikTok page into my 210 project will allow me to integrate a personal passion of mine with the skills I am learning as a developer. I plan to turn this project into a full-stack application after I have completed 210.
As a user, I want to add a cafe to my cafe collection and speciify the name, location, operation hours, wifi accessibility, outlet accessibility, aesthetic score, food score, star rating, transit accessibility, free parking accessibility, and foods tried.
As a user, I want to view a list of the cafe names in my collection of cafes
As a user, I want to select a cafe in my collection and view the cafe in detail
As a user, I want to select a cafe in my collection and rate it on a scale of one to five stars
As a user, I want to add cafes I have not gone to, to a wishlist collection
As a user, when I select the quit option from the application menu, I want to be reminded to save my cafe lists and have the option to do so or not
As a user, when I start the application, I want to be given the option to load my to-do list from file
- You can generate the first required action related to the user story "adding multiple Xs to a Y" by clicking the "Add Cafe" button or selecting "Add Visited Cafe" from the Cafe menu to add a cafe (X) to your cafe collection (Y).
- You can generate the second required action related to the user story "adding multiple Xs to a Y" by clicking the "Set as Favourite" button to set a visited cafe to be your favourite.
- You can generate the third required action related to the user story "adding multiple Xs to a Y" by clicking the "Mark as Visited" button to remove a cafe from the to-visit list and add it to the cafe list
- You can locate my visual component by looking at the top of the application window where there is a logo/image showing the StudySpot branding with a coffee cup icon.
- You can save the state of my application by selecting "Save Cafes" from the File menu, or by selecting "Yes" when prompted to save upon closing the application.
- You can reload the state of my application by selecting "Load Cafes" from the File menu, or by selecting "Yes" when prompted to load data when starting the application.
Fri Mar 28 20:07:45 PDT 2025
New visited cafe Aperture Coffee Bar created.
Fri Mar 28 20:07:45 PDT 2025
New operation hour for Monday created.
Fri Mar 28 20:07:45 PDT 2025
Added operation hour on Monday for Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
New operation hour for Tuesday created.
Fri Mar 28 20:07:45 PDT 2025
Added operation hour on Tuesday for Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
New operation hour for Wednesday created.
Fri Mar 28 20:07:45 PDT 2025
Added operation hour on Wednesday for Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
New operation hour for Thursday created.
Fri Mar 28 20:07:45 PDT 2025
Added operation hour on Thursday for Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
New operation hour for Friday created.
Fri Mar 28 20:07:45 PDT 2025
Added operation hour on Friday for Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
New operation hour for Saturday created.
Fri Mar 28 20:07:45 PDT 2025
Added operation hour on Saturday for Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
New operation hour for Sunday created.
Fri Mar 28 20:07:45 PDT 2025
Added operation hour on Sunday for Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
Tried Matcha Latte at Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
Tried Double Espresso at Aperture Coffee Bar.
Fri Mar 28 20:07:45 PDT 2025
Aperture Coffee Bar added to cafe list.
Fri Mar 28 20:07:45 PDT 2025
New to-visit cafe Breka Bakery & Cafe - Fraser created.
Fri Mar 28 20:07:45 PDT 2025
Breka Bakery & Cafe - Fraser added to To-Visit list.
Fri Mar 28 20:07:47 PDT 2025
New visited cafe Aperture Coffee Bar created.
Fri Mar 28 20:07:47 PDT 2025
New operation hour for Monday created.
Fri Mar 28 20:07:47 PDT 2025
Added operation hour on Monday for Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
New operation hour for Tuesday created.
Fri Mar 28 20:07:47 PDT 2025
Added operation hour on Tuesday for Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
New operation hour for Wednesday created.
Fri Mar 28 20:07:47 PDT 2025
Added operation hour on Wednesday for Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
New operation hour for Thursday created.
Fri Mar 28 20:07:47 PDT 2025
Added operation hour on Thursday for Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
New operation hour for Friday created.
Fri Mar 28 20:07:47 PDT 2025
Added operation hour on Friday for Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
New operation hour for Saturday created.
Fri Mar 28 20:07:47 PDT 2025
Added operation hour on Saturday for Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
New operation hour for Sunday created.
Fri Mar 28 20:07:47 PDT 2025
Added operation hour on Sunday for Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
Tried Matcha Latte at Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
Tried Double Espresso at Aperture Coffee Bar.
Fri Mar 28 20:07:47 PDT 2025
Aperture Coffee Bar added to cafe list.
Fri Mar 28 20:07:47 PDT 2025
New visited cafe Javier's Cafe created.
Fri Mar 28 20:07:47 PDT 2025
Javier's Cafe added to cafe list.
Fri Mar 28 20:07:47 PDT 2025
New visited cafe Ryan's Cafe created.
Fri Mar 28 20:07:47 PDT 2025
Ryan's Cafe added to cafe list.
Fri Mar 28 20:07:47 PDT 2025
New to-visit cafe Breka Bakery & Cafe - Fraser created.
Fri Mar 28 20:07:47 PDT 2025
Breka Bakery & Cafe - Fraser added to To-Visit list.
If I had more time to work on my project, I would first refactor the JDialog classes. CafaDetailsDialog, AddCafeDialog, AddToVisitDialog, and MarkAsVisitedDialog have very similar responsibilities and methods. I would create an abstract class that included all of the shared methods and each dialog would extend that abstract class and override any methods that needed to be specific for those classes. Additionally, I would separate the cafe list and to-visit list from the class CafeList. I believe it violates the single-responsibility design principle and the to visit list should be a separate class. Lastly, I would create a new class called ConsolePrinter to handle all of the formatting for my console application. There is a lot of coupling going on in the CafeApp class and if I ever choose to change the formatting, it would be much more efficient and consistent to have a separate class that holds that responsibility.