Celebrating Challenges & Wins with Teamwork!

ExpressGroomer is a desktop application for groomers and pet owners to connect. Groomers offer many services, and they can market to pet owners in their area.
The application is made for pet groomers to offer a great way for pet owners to find someone in their area that offers a service they are looking for easily. By allowing pet owners to search for groomers in their specific area, they can find someone close by which they can contact. Groomers will be able to list their services to reach their target market.
As a team, we worked on the landing page that serves as the basic marketing page to drive groomers and pet owners to sign up for an account. I specifically worked on the navigation and the map search feature that lead a pet owner to find a groomer in their area. The map search will allow a user to input by city, state, or zip to find the custom ExpressGroomers map markers. The clickable map makers then pop up the groomer’s profile information and a button that will take them to book the groomer they choose.
Going into the project, my biggest concern was how well the team would work together to get the project completed. As with any new team, it’s a lot of learning different personalities, how well they work together, and how well they communicate and give/receive feedback. I feared most wouldn’t want to give honest feedback that would allow us to build a good solid product.
Planning it All Out
The planning stage is one of the most important stages of building an application. When a team has worked hard to plan out everything before a single line of code is written, the building stages go much smoother.
As a team, we started by building a flow chart, which gave us a roadmap of how we needed the data to flow through the application. Then we built a wireframe to visualize how the app would look in a very low-fi way. This allowed us to move things around without having to redesign the entire application. We also made any tech decisions to determine what libraries we want to use for this application. Lastly, we decided to build the data schema for the back-end database and how the tables would be built. All of this took the team to agree on each aspect so that the building process would go smoothly.
We also used Trello to help us organize tasks for the team and each team member. This also allows the project manager and the stakeholder to track what was being done and by whom.

The photo above shows a Trello card that lists the information we wanted to include within the Mapbox feature. I’ve already implemented a map that renders on the search page. This also has a search box feature that allows users to search their area by state, city, or zip code. When a groomer is listed within our database, a custom marker will appear on the map that a user can click. Once clicked, a popup will appear to show the groomer profile information. As I finished tasks, I would check them off and then send that Trello card over to show what stage of the process that feature is in.
Challenges and Growth as a Team
The landing page was created as a team effort. We pair programmed to get started with the features of this page. Starting with the navigation and hero image and then adding an about section that shows the app's services and then finally the testimonial section.
I worked on the navigation and hero section and the login function of this part of the application.

The login feature was an interesting challenge. While we utilized the Okta Login Widget, we decided we’d rather it popup into a modal instead of sending the user to a new page component. So I was left with a challenge to place the component into a modal that also took in the security features, and once logged in, the user would be sent to their dashboard.

My biggest contribution and challenge to this app is the searchable map, created using the MapBox API. Our first release included a search input field that returns a list of those groomer profiles searched by the city.
This simple search wasn’t very user friendly. So I implemented a map search in place of the simple search. This created some new problems to solve. The search bar used with the map isn’t the same one used from the original search implemented. I had to find a way to pass the data into the map itself for the search to be useful and show the groomers' markers within the database.

Another issue that arose was finding a way to allow the popup to pull the groomers' data. There was a bit of a challenge to get the popup function to work as expected. The problem was the popup would close, and then the user couldn’t open any of the other markers. I found the solution by passing the state change into the button and again for the popup.

As a team, we communicated well and taught each other our methods of tackling different tasks. This allowed us to clean up code and keep things on track as we made updates and changes. We also worked together to approve any git pull requests and correcting any merge conflicts that appeared along the way.
The Final, Not So Final Product!
With any product, there seems never to be a true final. Instead, you get releases with new features that hopefully enhance the product for the end-users. Here’s a quick rundown list of what we have so far for our ExpressGroomer app:
- A marketing landing page that entices a user to join or use the app
- A secure login powered by Okta that pushes the user or groomer to their specific dashboard
- A searchable map that a user can search by city, state, or zip that will show custom makers on the map of each groomer
- Clickable map markers that will popup the groomer’s profile cards
- A groomer dashboard that includes a calendar feature for the groomer to track their appointments
- A user dashboard that allows them to keep track of groomers and upload photos of their pets
Here’s a quick video demo of the application that we completed:
Because an application is really never complete, we have goals and ideas on how to improve or enhance the usability of this app.
Future Features:
For future releases, we wanted to include appointment scheduling. This would allow the groomer to manage these requests from the user to schedule and manage these appointments. Also, we’d like to enhance the user profile section. While users can upload a photo and information on their pets, we’d also like to include any health information and identify if they are up to date on their vaccinations.
In additional releases, we’d like to see a payment service by integrating Stripe to allow the user to pay the groomers directly through the app. We'd also like to see a rating system for users to provide feedback for others based on their experience.
Challenges ahead:
All technology comes with challenges, and with that, I could see implementing user interaction with the dashboard to be a big challenge. Also, implementing a good secure way for the user to feel comfortable to input a payment method into the app.
What I learned during this team project:
Tackling this team project was a great learning experience. I learned how to communicate as a team to get what was needed to be done. Especially working on the front end, I needed to communicate well with the backend, so they knew exactly what to implement to make the data work the way I needed — especially when working with the MapBox feature, which needed new data points to locate longitude and latitude to be added to the current tables.
I really enjoyed speaking to the stakeholder and the project manager during those meetings. The feedback was valuable for moving the work forward. Getting that extra feedback on the design and what would work better, and what features the stakeholder wanted to see next truly helped us stay on the project's course and get things done quickly.
This learning experience was valuable for my future career. I got to experience building a fun app, but I also got to work with multiple developers with different personalities. This was probably the most valuable part of the project — learning to work with others and helping each other tackling challenges that arose along the way.