Since all of us are beginners at hackathons, we just decided to go with a random topic for our app. We were sort of inspired by cute dog videos on YouTube, Instagram, and TikTok. While no one on our team actually owns any dogs, we still really care about them.
What it does
EZpup is a multifunctional dog-care app that can help you have a better relationship with your pup! With EZpup, you can analyze your dog’s symptoms to determine if it has one of ten diseases, and you can also train your pet using a custom timer! If you’re feeling bored, we also have some great recommendations on how you and your pet can spend some quality bonding time.
How we built it
We used Swift and XCode to build this app. Using multiple view controllers and a navigation controller, we were able to allow the user to move between the different functionalities easier. It also allowed us to pass information between the different view controllers. To make the code expandable so we can easily add more diseases in the future, we used a table view and arrays to store the data.
Challenges we ran into
We struggled with the logic behind the app, such as how we would allow users to select symptoms and how they would organize the symptoms. We ended up grouping the symptoms into categories for the user to select, and mapping different symptoms to specific diseases. On X-code, we were also concerned about having a messy workspace with way too many view controllers, but we ended up solving that problem by only using one view controller, calling data from arrays storing user input.
Accomplishments that we're proud of
We were able to use our own designs for the backgrounds and gather many icons to help the UI/UX look smoother and fun for the pet owner. In addition, even though we were originally only going to do the disease function, we were able to come up with 2 more very useful functions made for dogs and their owners.
What we learned
We learned about the terrible diseases that commonly affect canines, and we aim to warn dog owners about potential diseases based on symptoms. We also learned how to put together an app logo after many drafts of designing the most aesthetically pleasing one. In terms of coding, we learned how to utilize multiple view controllers and navigation controllers, as well as how to use segues to connect them together for a better user experience. In addition, all of us work with command terminal programming more, such as C++, rather than working with the user interface, so there was quite a large learning curve in making the app pretty as well as function. We also learned how to use constraints, stack views, and table views to account for different screen sizes of devices. Finally, we learned how to use AVFoundation, a multimedia framework with APIs in Swift, to work with time-based audiovisual media for Apple operating systems.
What's next for EZpup
We’re thinking about adding more symptoms to choose from, and therefore more diseases to be diagnosed to better the health of any pups or dogs. We would also like to be able to provide multiple disease suggestions at the end of the diagnosis so that we can direct the user towards many potential diseases if the dog’s symptoms are characteristic of more than one sickness. Finally, we are looking into using Firebase to implement a notification system for the app that reminds the user to play with their pup or check for any diseases. It may also allow us to implement a chat feature where the user can chat with other pet owners for fun play ideas or even a vet to quickly find a temporary solution for the pet's symptoms!