My 414 Experience

15 Dec 2020

Final Exam / Milestone 5 Final Reflection Essay

For the duration of the 414 course my class and I worked together to create the HACC-HUI website for the 2020 Hawaii Annual Code Challenge event. The website, created in React, served as a method for signing up for the event as well as a mediator for the attendees to help them find teams. Students could sign up for the event and then create teams or join teams based on their interests and which challenge they wanted to fulfill. All of the finer details were accessible to the admins and everything they needed to handle from a moderation standpoint was handled. This could not have come at a better time as COVID-19 prevented students from meeting in-person, so this was a great option for people to team up with likeminded individuals. The site we created can be found here: HACC Hui Website

During the project, the class was all split up into multiple groups and I was placed in a group with Manalu, Joshua, and Isaac. During the process we completed four milestones. In reality it was more like three due to the third one getting cut early as we changed the way we would handle the milestones. The team’s were all working on the same issues meaning that the best work done out of five teams was going to be used in the final product. That method only lasted for the first two and a half milestones but by the third and fourth one we started to work on our own issues due to the HACC drawing closer. Nonetheless I want to cover the work that I completed during the project. Forgive me if the details are a little fuzzy as some of the milestones were completed over two months ago. The work I completed can be found in these two Github projects: My Group’s Github The Main HACC Github

During the first month I implemented the “Configure HACC page” which was an admin page that allowed them to augment and add certain things regarding the HACC. In the page I added three columns that allowed the admins to add and edit the challenges for the year’s HACC, the “skills” that the students could assign to themselves, and the “tools” that the users could also assign themselves. I decided the best way to go about it would be to throw all of that data from the database into one page with three columns. From there I threw on an “add” button at the top of each column to allow the users to add to each of the three categories. Those buttons would lead to another basic “add” page which would handle the adding process.

During the second milestone I worked on the functionality for a participant to find the teams they were interested in joining and inform the team that they were available. I did this in a simple page. I added the interested developers page that team owners could view and it would allow them to see the people who were interested in their project. The developers could indicate an interest in joining a team with a simple “request to join” button present on the list teams page. Once the student indicated an interest in joining it would send a Slack DM to the team with the individual developer’s slack information so they could DM them and inquire further from there.

The third and fourth final milestones I worked on another admin page. This one was aimed at allowing the admins to edit team information. I saw this as more of a moderating deal so I allowed basically full access to editing most of the team information that the participants could have created. The admins also needed a function to set the github repos for the teams so I allowed them to add that to the team information as well. This one was pretty basic but had me meddling in almost every “team” aspect to allow the admins to change what may need to be changed if they deemed it necessary.

That was basically all the work I put in for the project. I believe my milestone one admin page was the one actually implemented which was cool to see. I do not believe my milestone two was chosen to be the one used in the final product. My admin page for milestone three and four was however used in the final product. I was unable to garner screenshots of the pages I made due to not having admin access to the official site as well as the way admin privileges were handled in the final versions available on GitHub.

During the portions where I worked with a team it was fairly flawless. Manalu, Joshua, and Isaac were all very self-directed and we all worked on our own thing most of the time. We did not need to get together much to get the work done as we mostly were getting things done shortly before the due date. The work was usually split up the day that it was assigned and we would just hop on Github and pick out the things we needed to get done. We would help each other quite a lot along the way and usually through text. Most of our interactions were though the Discord text come to think of it. We would normally only need to meet through voice before a milestone presentation. Most of our questions were resolved over text within our group but on some occasions we would ping the class with questions that seemed out of our scope. I believe at one point Joshua helped out Isaac when he really got stuck on something during milestone two and I appreciated that he picked up the work.

Being at home instead of a classroom made presenting our milestone work slightly difficult as we all had our own problems getting a quiet environment but we all stepped up to present our work when we had to. We never really made a plan on how to present but it usually just consisted of one person showing their screen then passing the rock to the next person who would show their own screen and present their work. It worked well for our little planning. Everyone took a fair amount of work and we were all prompt with getting it done. I appreciated working with a team like ours.

Overall 414 was a pleasant experience. Minus a couple nights of cramming code between other class loads I am pleased with what I got done. The one thing I struggled with most in this class was re-learning Meteor React and Mongo. I voiced my issues to the class after milestone one when we had a meeting after our presentations. I opened up that it had been two years since I last coded in react and getting used to that format took quite some getting used to after only doing JavaScript and PHP recently. I was glad to hear that I wasn’t the only one and that professor Moore was understanding of my situation. I picked it up on the later milestones though. I did also struggle with the Slack bot quite a bit. It was rather finnicky and I didn’t quite understand how it worked. I should have spent more time really trying to understand the slack bot and that would have made my milestone two work a lot better. One thing I will warn my underclassmen friends and other buddies is to make sure to take 313 and 414 consecutively if the class is going to be taught like this going forward. I learned a lot more about react in this experience though so its not super detrimental to have that break. Having the resources in the pre-existing pages to base my work off of and learn from helped a ton. Learning the Slugs was major and once I got that figured out the work with the databasing things was much easier. Overall, again, I did enjoy my experience and I would one hundred percent take this class again.