Skip to content
The landing page for myPetPal, featuring a picture of a dog next to the main heading and the login and signup buttons

myPetPal project overview

Taking care of our pets is a lot of work! Use this app to keep track of all the tasks necessary to keep your furry, feathered, & scaley friends happy & healthy.

Access

To avoid signing up, you may log in with the following credentials:

tester3@gmail.com // testtest

Features

  1. Secure login with Passport Auth

  2. Cache for external API calls

  3. Responsive for desktop & mobile

Quick filtering through tasks

Through directly filtering table data available on page load rather than querying the database, searching for a task, pet or date was very fast.

A screenshot of the user's calendar view, showing a the description of a task, its date, related pets and completion status
Adding new pets or tasks from the dashboard

A user's dashboard has everything they may need: adding pets, tasks, getting a day's task list, and editing and deleting a pet.

A screenshot of the user's dashboard, showing the user's name, how many tasks there are left to be done today, a date input for selecting a specific date's list, the number of pets the user has, and information about each pet along the options to edit or delete
See today's list of tasks to be done

The user will be automatically taken to today's to-do list, where he or she will have the option to add, delete, or edit a task, as well as navigate to the previous or next day.

Screenshot of a day's to-do list, showing an incomplete task still to be done

Roadmap

or: what I would like to implement given more time
  • Enable marking tasks complete from All Tasks page

  • Add different profile pictures for pets, depending on species

  • Enable password change/reset

Lessons learned

  • Communicating and tracking issues is critical for a team. Even without Jira, Github projects helps keep track of what needs to be done.

  • Having a clear view of the final product is invaluable to guide decisions, especially when there isn't a team lead

  • On the technical aspect, it took a while to get all team members up to speed so it was great practice for handling merge conflicts