Workout Classes Recommendation Program

For this Portfolio Project, I made a recommendation program that:

  1. Generates random workout classes for fictional studios

  2. Inserts the tags for such classes into a self-balancing Binary Search Tree

  3. Allows a user to search through the BST data structure for workout classes of a certain type and during a stipulated time period

  4. Performs the stipulated “autocomplete” search function with time complexity of O(log(n) + t) , where n is the number of nodes in the tree and t is the number of nodes that contain the search term

  5. Display a list of workout classes that fit the user’s criteria.

Find it here on Github and the blogpost on Dev.to here.

Here’s a GIF of the program in action!
demo

This took me about 5 (very intense) days to make, and in the process I learned about pickling, adding the remove function in a BST, as well as self-balancing function!