Skip to content

awu0521/TrackTheTrek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Personal Project: TrackTheTrek

Overview

TrackTheTrek is a project inspired by the motivation to explore the wild BC through hiking, and by the belief that investing in one's physical health leads not only to a stronger body but also to better mental well-being.

This application will aim to help users store their past hikes and add new hikes into a wishlist for future plans. Users can also enter results of their hikes and obtain statistics (graphs and charts) on average pace, total length and comparsions to past hike logs.

Target Audience

This project can be used by the general audience such as:

  • Adults who want to track their hiking progress
  • Students who want to exercise by hiking and want to log their adventures and see their growth
  • Families and kids who want to see what enjoyable hikes they have done and what hikes they have in their wishlist.

User Stories

  • As a user, I want to be able to add a desired hike trail to my wishlist

  • As a user, I want to be able to view a list of the trail names in my wishlist

  • As a user, I want to be able to select a hike in my wishlist and view the hike details (distance, elevation, etc.)

  • As a user, I want to be able to select a hike in my wishlist and rate it on a scale of one to five stars

  • As a user, I want to be able to view a statistical graph of all my past average paces in different hikes

  • As a user, I want to be able to compare two past hikes of my choosing and view the differences with the trails itself and the differences between my results

  • As a user, I want to have the option to save my tracking data before I quit the application

  • As a user, I want to have the option to load the saved data when I open the application

Instructions for End User

  • You can generate the first required action related to the user story "adding multiple Xs to a Y" by clicking on "Add a hike" underneath either My Hiking Wishlist or My Completed Hikes.
  • You can generate the second required action related to the user story "adding multiple Xs to a Y" by clicking on "view a hike" to select which hike you want to see the details of (from one of the lists).
  • You can locate my visual component by opening the application and looking at the bottom left.
  • You can save the state of my application by clicking on the "Save Progress" button at the top.
  • You can reload the state of my application by clicking on the "Load Progress" button at the top.

Phase 4: Task 2

  • Thu Aug 07 03:27:57 PDT 2025
  • Made a wishlist hike named: Grouse
  • Thu Aug 07 03:27:57 PDT 2025
  • The hike: Grouse is added to wishlist.
  • Thu Aug 07 03:27:57 PDT 2025
  • Made a wishlist hike named: Seymour
  • Thu Aug 07 03:27:57 PDT 2025
  • The hike: Seymour is added to wishlist.
  • Thu Aug 07 03:27:57 PDT 2025
  • Made a completed hike named: Mt. Everest
  • The hike: Mt. Everest is added to completed list of hikes.
  • Thu Aug 07 03:27:57 PDT 2025
  • Thu Aug 07 03:27:57 PDT 2025
  • The hike: Cypress is added to completed list of hikes.
  • Thu Aug 07 03:27:57 PDT 2025
  • Made a completed hike named: Grouse
  • Thu Aug 07 03:27:57 PDT 2025
  • The hike: Grouse is added to completed list of hikes.
  • Thu Aug 07 03:28:00 PDT 2025
  • Viewed a wishlist hike details for: Grouse
  • Thu Aug 07 03:28:03 PDT 2025
  • Viewed a completed hike details for: Mt. Everest

Phase 4: Task 3

One refactoring I would apply to improve my project is the introduction of an abstract class to eliminate duplication in the current class hierarchy. As shown in the UML diagram, the HikesDone and Wishlist classes share very similar structure and behavior. Both act as a place for different types of hikes (CompletedHike and ToDoHike), and much of their logic implemented overlaps.

Introducing an abstract superclass (such as HikeList) would help since HikesDone and Wishlist can extend from it. This refactoring is important because it reduces code duplication, and results in cleaner design and readability.

About

TrackTheTrek is a project inspired by the motivation to explore the wild BC through hiking, and by the belief that investing in one's physical health leads not only to a stronger body but also to better mental well-being.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages