What's the idea?
Match with an awesome person who can walk your dog when you don't have time! Or find a dog to light up your day without taking on too many responsibilities!
Inspiration
Dogs are adorable and amazing! A puppy could be the best gift in our life. However, dog ownership means commitment and long-term responsibility. What's more, sometimes it can be hard to find time every day to walk your dog. Why not find a motivated helper rather than keep your dog stuck indoors?
On the other hand, many dog lovers are waiting for the right time to own a dog. This is a perfect chance to spend time around a loving pup! By helping dog owners walk their dogs, dog lovers can not only have a fun time but also get a taste of what kind of dogs fit them best.
What it does
To solve this problem, we developed an Android mobile application. Registered dog owners and dog lovers can choose a time slot and then swipe the users based on their preference. When a dog owner and a dog lover mutually like each other, they can start a conversation and negotiate details about time and location for dog walking.
How we built it
Language: JAVA
Tools: Android-Studio, IntelliJ IDEA
Frameworks: Retrofit2, OKhttp, RxJava, Spring-Boot, Mybatis
Database: MySQL
Running environment: Google Cloud Platform
Version Control: Github
First, we defined the product needs, including requirement analysis and UI design. The requirements specified what to implement and the functionality of each component. For UI design, we chose yellow for our color palette to help convey energy and action.
In our software architecture, we created a front and rear end to organize code and provide modularity. The back-end runs with spring-boot and provides a series of RESTful APIs.
We made use of https://github.com/quintuslabs/DatingApp as the UI template. Thanks to @quintuslabs, we could build such a lovely application!
Challenges we ran into
- Inefficient team member communication. Each team member had a different understanding of the goals of the project. Each part was built on an individual's perspective. We should have communicated with each other and exchanged ideas in a written format more frequently during the hackathon.
- Integrate the back end with the front end, and deploy the backend service on Google Cloud Platform so that the application could be made use in real life.
Accomplishments that we're proud of
We can successfully run our code and operate our Andriod app on Emulator! We built the login/register layout, timeslot selection function and user communication layout. Finally, we implemented the swipe to like or dislike function.
The architecture conformed to popular practices in the industry: we separated the front end and the back end, and implemented RESTful API to conduct connections between front ends and the back end; we also succeeded in deploying it on Google Cloud Platform.
Awesome teamwork! Everyone's good at something: Betty came up with an awesome proposal -- the lovely idea of building such an application -- and made the app logos and collected resources of pictures, and helped with the documentation; Yuxin built the backend and deployed the Jar on GCP, Muhan built the front end application and Dan implemented the Restful API. We worked very efficiently!
Please check out the GitHub repository: we provided with the usage documentation of our RESTful API implementation!
What we learned
- Git saves the world.
- Build an Andriod app to a higher level.
- How to deploy an Andriod app on Google Cloud platform。
- A better understanding of Restful API, better practice in software development (requirement analysis, etc).
- Documentation and requirement analysis is powerful! If you want better group work and better results, definitely make a consensus with documentation before and after the development.
What's next for Walk Your Dog
- Filter users based on location.
- Add a tracking function with APIs of maps to ensure the safety of the dog.
- Implement a user rating system.
- A dog recommendation system for registered dog lovers (machine learning).
- Maybe we can even come up with a business plan!
Built With
- android-studio
- java
- rxjava-okhttp-retrofit2
- springboot
Log in or sign up for Devpost to join the conversation.