link to github page link to youtube demo

PARENT APP

Children management app with a time out timer, coin flip, task manager, and calm down features.

Tools + Concepts Used

  • Android Studio - Java
  • Object Oriented Programming
  • State Machines
  • Scrum
  • GitHub

Team Members

  • Peter Soava
  • Denise Siu
  • Braden Takashima
  • Matthew So

Description

Over the course of 6 weeks, I worked with a group of 4 people to create an application using Android Studio for the course Introduction to Software Engineering (CMPT 276). We worked in a scrum-style team to create an application that can help parents manage their children.

The Product

Video demo of the Parent App

My Contribution

My Roles

Throughout the project, I took on the roles of Repository Manager and Product Owner. As Product Owner, I was responsible for corresponding with the instructor regarding the user stories we were given and clarifying the requirements and purpose of features and the overall application. In the role of Repository Manager, I would be responsible for reviewing all merge requests and ensuring that it was up to the group standards. In addition, I would manage issues and ensure that they were all assigned and clear.

My Features

Family Member Manager

with shared preferences

gif of the family member manager feature
Camera and Gallery Integration

using permissions and saving

gif of the camera and gallery feature
Coin Flip History

storing and displaying coin flip data [with Braden]

gif of the coin flip history feature
Take a Breath

medatiative breathing feature

gif of the take a breath feature

Problems and Resolutions

Team Formation

In the beginning, as with any group formation, we may have had some conflict in terms of figuring out everyone’s roles within the group. As a scrum team we had around 3-5 weekly meetings to ensure that we were all on the same track. Having lots of meetings allowed us to get to know everyone, their individual styles, and how we would all mesh as a group.

Learning and Using Git

None of us had ever used Git in this capacity, in the beginning, so there were a few issues with merging code and ensuring that we all worked on the issues assigned to us. At one point we ran into issues with two people working on the same issue. We quickly fixed and realized the problem at one of our frequent meetings and we worked to resolve this by ensuring that all issues were assigned and clearly defined.

Overcorrection

To prevent any more mishaps, we followed the issues more closely on the repo. This however caused problems with overcorrection where the tasks assigned were too specific and people had to wait on others to finish tasks. This was not maximizing our team's abilities, so from then on we worked in subgroups of two and communicated frequently outside of group meetings while still using Git issues to organize tasks and see what everyone was working on.

Takeaways

Through working in a team for this assignment, not only did I learn the ins and outs of scrum, but I've also learned how to be a good team member. By fulfilling commitments and managing time I was able to successfully contribute to the group in a meaningful way. Additionally, due to our difficulties with Git, I found that these problems made us all better at using Git. I now believe that I am fairly proficient in Git.