CptS 489 Team Project: tp-alpha
This repository implements SpeedScore, a web app that enables users to log, analyze, share, and discuss their speedgolf rounds and experiences. SpeedScore is built using MongoDB, Express.js, React.js, and Node.js.
Link to Deployed App
You can access our team's deployed app at this Heroku site
Team members
- Team leader: Hung Luu (hung-luu)
- Brian Schimert (BrianSchimert)
- Desmond Yancey (d5k1y02)
- Joshua Stallworth (Atmospherex)
- Turner Smith (Turner12)
Milestone 0 (Due 11/19)
Progress
Issues and Story Points
Reflection Statements
Team Member |
Contribution Reflection Statement |
Hung |
Setup MongoDB, add Google OAuth |
<Required: The story points data is unlikely to tell the whole story about your contribution. Write a brief statement explaining and reflecting on your contribution to this milestone.> |
Brian |
Deploy app to Heroku, complete milestone reports |
<Required: The story points data is unlikely to tell the whole story about your contribution. Write a brief statement explaining and reflecting on your contribution to this milestone.> |
Desmond |
Delete speedscore rounds, update speedscore rounds |
<Required: The story points data is unlikely to tell the whole story about your contribution. Write a brief statement explaining and reflecting on your contribution to this milestone.> |
Josh |
testing |
<Required: The story points data is unlikely to tell the whole story about your contribution. Write a brief statement explaining and reflecting on your contribution to this milestone.> |
Turner |
testing |
<Required: The story points data is unlikely to tell the whole story about your contribution. Write a brief statement explaining and reflecting on your contribution to this milestone.> |
Testing
Communication
Discord Messages
| Post/Reply Counts |
Date | Total | Hung | Brian | Desmond | Josh | Turner |
11/9/21 | 5 | 2 | 1 | 1 | 1 | 0 |
11/12/21 | 4 | 1 | 1 | 0 | 0 | 1 |
Totals: | 9 | 3 | 2 | 1 | 1 | 1 |
Zoom Meetings
| In attendance? |
Date | Duration (min) | Hung | Brian | Desmond | Josh | Turner |
11/10/21 | 60 | ✓ | ✓ | ✓ | ✓ | |
11/12/21 | 60 | ✓ | ✓ | ✓ | ✓ | |
11/17/21 | 60 | ✓ | ✓ | ✓ | ✓ | |
11/19/21 | 120 | ✓ | ✓ | ✓ | ✓ | |
Totals: | 340 | 4 | 4 | 4 | 4 | 0 |
Reflection Statements
Team Member |
Communication Reflection Statement |
Hung |
We were pretty successful in communicating with each other. Everyone replied in a timely manner. We decided to switch to Discord to communicate as it is a more effective system. |
Brian |
We use Discord to message each other and have teeam meetings because all of the team members are more comfortable with this platform. Questions through messaging were answered quickly and our meetings were effective. We plan to have more planned out meetings during the next milestone. |
Desmond |
Communication seems to be good overall in this team. I was able to quickly get access to our database and heroku upon request. We have had a little trouble scheduling meeting times, but that is mostly due to situations out of our control thus far. |
<Required: The posts/replies data is unlikely to tell the whole story about your communication. Write a brief statement explaining and reflecting on your communication with your team during this milestone.> |
Josh |
Post Milestone 0, I am happy with the team communication is consistant and teammates are helpful for the most part. Looking back at my own work, I could have commited my work more as well as give status updates when I have nothing to commit. Now that my version of our web app can run on my MacOS system I think most things will be smooth from here on out. |
Turner |
<Required: The posts/replies data is unlikely to tell the whole story about your communication. Write a brief statement explaining and reflecting on your communication with your team during this milestone.> |
Retrospective
See RetrospectiveMeetings folder in branch "main".
What went well
Changes we plan to implement in next milestone period
- Daily status updates (even if no changes)
- Establish set meeting times that work for everybody throughout the milestone period
Milestone 1 (Due 12/08)
Progress
Issues and Story Points
| Story Point Counts | |
Issue | Linked PR | Total | Hung | Brian | Desmond | Josh | % Complete | Notes |
Issue 45 | PR 66 | 13 | 6.5 | 6.5 | 0 | 0 | 70 | Updated database schema, server routes, Google autofill, and implemented UI connection. Needs some additional work on the pretty-ness of displays and allowing users to edit over the Google autocomplete. Need to add functionality for tees. Due to the amount of coordination required for these tasks, we would petition for this story to be work 22 points instead of 13. There was much coordination effort needed in order to implement the database model, the routes, and the React front end correctly. |
Issue 46 | PR 65 | 13 | 0 | 0 | 6.5 | 6.5 | 80 | Added course table, search bar(not functional yet), filtering method, and get/post methods. Need to finish search bar implementation. Due to this issue having dependencies on parts of the implementation of other issues, coordination was more difficult and delays in the completion of dependencies slowed down developement. For that reason, I think the the story points for this issue should be increased to 18. |
Totals: | 26 | 6.5 | 6.5 | 6.5 | 6.5 | 75 | |
Reflection Statements
Team Member |
Contribution Reflection Statement |
Hung |
For this milestone, I worked on creating the modal dialog form for adding a new course as well as a floating action button in the Courses tab so that the user can be directed to the add course form. I also worked on implementing the Google Places autocomplete API in order to speed up the process of adding a new course. |
Brian |
My contributions to this milestone mainly consisted of setting up the server routes for Courses and getting them hooked up to the frontend. There was a lot of collaboration between teammates in order for us to complete our tasks. |
Desmond |
For this milestone, I worked with Josh on creating the table that displays user added speed golf courses. I wrote the get and post methods for getting the courses into local storage and well as adding them to the database respectively. I also designed the course filtering method. |
Josh |
For this milestone, I worked with Desmond on creating table modal that would display and list all courses in the database, in addition to being able to search for specific courses. The specific part that I worked on creating the table and populating the database. Creating table was easy for the most part, however populating it was a bit more difficult due to not quite understanding how to retrieve that data. Luckily I was able to work through it with my team members and get it working. |
Testing
Testing gifs located in the repository's testGIFS file.
Communication
Discord Messages
| Post/Reply Counts |
Date | Total | Hung | Brian | Desmond | Josh |
11/21/21 | 6 | 1 | 3 | 2 | 0 |
11/29/21 | 9 | 5 | 2 | 1 | 1 |
12/01/21 | 6 | 1 | 4 | 0 | 1 |
12/02/21 | 8 | 2 | 2 | 4 | 0 |
12/03/21 | 2 | 2 | 0 | 0 | 0 |
12/06/21 | 3 | 1 | 1 | 0 | 1 |
12/07/21 | 18 | 2 | 7 | 1 | 8 |
12/08/21 | 14 | 3 | 5 | 1 | 5 |
12/10/21 | 6 | 4 | 1 | 1 | 0 |
Totals: | 72 | 21 | 25 | 10 | 16 |
Zoom Meetings
| In attendance? |
Date | Duration (min) | Hung | Brian | Desmond | Josh |
11/22/21 | 60 | ✓ | ✓ | ✓ | ✓ |
11/24/21 | 60 | ✓ | ✓ | ✓ | ✓ |
11/26/21 | 60 | ✓ | ✓ | ✓ | ✓ |
11/29/21 | 60 | ✓ | ✓ | ✓ | ✓ |
11/29/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/01/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/03/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/06/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/08/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/10/21 | 60 | ✓ | ✓ | ✓ | ✓ |
Totals: | 600 | 10 | 10 | 10 | 10 |
Reflection Statements
Team Member |
Communication Reflection Statement |
Hung |
We did pretty well in terms of communication for this milestone. Everyone was able to attend our meeting times based on the schedule we agreed upon in the last TPM. When group members had questions, it was answered in a very timely manner. We all helped each other out whenever an issue would arise. |
Brian |
I thought that communication during this milestone went really smoothly. We implemented our plan from the previous TPM0 to meet every other day (Mon, Wed, Fri) in order to provide updates and figure out tasks for teammates. We also responded to messages quickly in our Discord server and were able to help each other with any issues that arose. |
Desmond |
Communication was generally good, however more time was needed doing concurrent programming. |
Josh |
Communication wise this milestone I think we did pretty well, while there may have been some confusion on what each of us were doing we were quick to respond to each other in discord and sort out any issues that arise. |
Retrospective
See RetrospectiveMeetings folder in main
branch.
What went well
- Meeting Monday, Wednesday, and Friday at set times.
- Working in pairs went well.
What we'd like to improve
- Better outlining / planning.
- Better source control flow / branch management.
Changes we plan to implement in next milestone period
- Going through story tasks and figuring out exactly what needs to be done and the dependencies between tasks.
- Meet more frequently next week due to shorter timeline for tasks.
Milestone 2 (Due 12/16)
Progress
Issues and Story Points
| Story Point Counts | |
Issue | Linked PR | Total | Hung | Brian | Desmond | Josh | % Complete | Notes |
Issue 45, Issue 15 | PR 75 | 13 | 6.5 | 6.5 | 0 | 0 | 85 | For this milestone, we tried to polish up and finish issue 45, allowing a user to add speed golf friendly courses to the database, edit them, and remove them. We worked on making Google autocomplete work correctly for the courseForm, while still allowing users to manually enter / edit information. Additionally, we added the routes for adding and getting tees, which are displayed in the courseForm itself. Users are now able to add tees for a specific course, and are saved to the database. Much of this work was done together and in tandem, as there was much dependency between the UI, backend, and hooking them up together. Lastly, as time allowed, we began implementing functionality for badges earned through rounds based on round count, total strokes count, and minimum round time. Issue 45 90% complete, issue 15 60% complete. |
Issue 46, 44 | PR 74 | 13 | 0 | 0 | 6.5 | 6.5 | 55 | Completed issue 46. Implemented most of the interactions and skeletons of the various buttons and forms in issue 44. Issue 44 has added difficulty and complexity due to needing several component layers as well as requiring the modification of the course model and many of the functions that involve courses. For ths reason, I think that the story points for this issue should be 19. |
Totals: | 26 | 6.5 | 6.5 | 6.5 | 6.5 | 72.5% | |
Reflection Statements
Team Member |
Contribution Reflection Statement |
Hung |
For this milestone, I worked with Brian on fleshing out some of the features in issue 45 from the previous TPM. We were able to make some tweaks to the Google Places autocomplete API by making the dropdown look more like a dropdown, displaying only the course name instead of the entire course name and address, and allowing the address and geolocation fields to be editable. We also tried implementing some of the features for issue 15 by adding an informational popup modal in the rounds mode that lets the user see what the available badges are and a description for how to earn each badge. |
Brian |
Worked in tandem with Hung to complete issue 45, which was adding /editing / deleting courses and using Google autocomplete. We got most of this issue done, but weren't exactly clear on the specific requirements of multiple holes within a tee (as neither of us are golfers). We also really tried to get the max SGS score of users for a specific golf course, but struggled with this to the point that we weren't able to implement it. Final attempt is commented out in the code. Other than these two minor problems, issue 45 is complete. |
Desmond |
For this milestone, I worked with Josh on completing the implementation of issue 46 and starting on issue 44. We switched to pair programming for this milestone in order to improve communication and made all of our change from one machine. All of the commits were done from Josh's account. We were able to complete issue 46, although it took a bit longer than expected due to some issues with merge conflicts. As for issue 44, we have most of the skeleton of the ui complete(most of the appropriate buttons and forms exist, though some are missing functionality). |
Josh |
For this milestone, I worked with Desmond we tackled the remaining functionalities in issues 44 and were able to complete them together by programming as a pair. After issue 44, we moved onto issue 46 and developed the skeleton mostly and we're just missing some functionalities. |
Testing
Testing gifs located in the repository's testGIFS file.
Communication
Discord Messages
| Post/Reply Counts |
Date | Total | Hung | Brian | Desmond | Josh |
12/13/21 | 4 | 1 | 1 | 1 | 1 |
12/15/21 | 4 | 1 | 3 | 0 | 0 |
12/16/21 | 4 | 1 | 1 | 0 | 2 |
Totals: | 12 | 3 | 5 | 1 | 3 |
Zoom Meetings
| In attendance? |
Date | Duration (min) | Hung | Brian | Desmond | Josh |
12/10/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/13/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/15/21 | 60 | ✓ | ✓ | ✓ | ✓ |
12/16/21 | 60 | ✓ | ✓ | ✓ | ✓ |
Totals: | 240 | 4 | 4 | 4 | 4 |
Reflection Statements
Team Member |
Communication Reflection Statement |
Hung |
Everyone attended the meetings at the arranged times, communication was good, no complaints. |
Brian |
Communication was effective during this shorter milestone period, and meetings were attended regularly and as needed. |
Desmond |
Communication went well. No one missed any meetings and we were able to meet when necessary. |
Josh |
Communication was great considering it was finals week. Good responses and good meetings. |
Retrospective
See RetrospectiveMeetings folder in main
branch.
What went well
Changes we plan to implement in next milestone period
This was the final milestone period.