Day 38 at Makers Academy

Acebook

Today we properly started on our group project, Acebook. Acebook is our version of Facebook, much like Chitter before. To start we have been given a Trello board with user stories on, which we can update and change as we want.

Our team Trello board.


Group Work

This project is our first real group project, getting us ready for our upcoming final project. I am in a team of four, Team Java, and in the team we are practicing some of the things we will need to be good at when we join actual teams; Stand Ups, Retros and Sprints. To manage this, there will be a Scrum Master, who takes the lead and manages the team, and we will rotate this position daily. Today is the first proper day we are doing it, and I am the Scrum Master for the day, so that will be interesting. We had a quick workshop yesterday on how to be a good Scrum Master, here are the basics:

Break It Up Into Tasks/User Stories
At the start of the project, it needs to be broken up into smaller tasks that the team can then work on. Prioritising the right stuff first is key.

Stand Ups
Every morning, for about 30 minutes, run by the Scrum Master. The purpose for these is to find out how the team is doing, where we are at with the work, and the plan to move forward.

Retros
Retrospectives at the end of the day, used to gather feedback from the team, ensure that progress is being made, and figure out how to improve.

Sprints
Time frames to complete a piece of work.


We also learned the best way to give feedback, to make it constructive rather than confrontational. It is best to think about the aim of your feedback, if nothing good is going to come out of it, you should re-think your feedback! We were told to think about:

1. Observations – what you have observed and are giving feedback on. For example, yesterday I noticed I suggested something, and it was not considered in the features.
2. Feelings – how this made you feel. For example, when my suggestion was not implemented, I didn’t feel valued in the team.
3. Needs – what you need to get from being in the team. For example. I need to feel like I am contributing.
4. Requests – what you want the team to do in response. For example, could we discuss all suggested features in the future, even if we don’t implement them.


Java Database Queries

This morning in our group we looked at using the database in our Acebook template to add a time stamp onto posts. Adding a new column was easy, when you enter mvn spring-boot:run it runs all the database migrations, so we just had to add a new one for an extra column. Then, to get the time stamp into the database, we modified our Post class to include a time variable, and set that to the time at the point of creation.
One of the parts of the Acebook challenge was to sort posts by reverse chronological order. This is proving to be a challenge, mostly because of the way the template displays the posts. It is using a React app to pull the posts from the API and display them. As we don’t know how React works, it is tough to find out where we need to interject and add sorting in. We have done our best Googling and trying to find an answer but to no avail. We will carry on on Monday!

Here is our beautiful creation as it currently stands:

Minimalist design


Netflix

Yesterday on the train home I found a really interesting blog post about how Netflix works. Here is the blog. It is amazing how they create all the different parts of the website as microservices and get them working together in one big service.


Todays song of the day:

Leave a comment