Day 43 at Makers Academy

Finishing Acebook


User Interface

Today we put the finishing touches on our Acebook project. We used Bootstrap again to make it look pretty. Trying to make it more user friendly was very helpful as it made us think more about the way the website would be accessed, and how it functions. Previously we had a home page, a separate page for signing in, another page to post, and another page to comment. This isn’t really how modern websites work, so we updated the way ours worked in the background. Using the same methods as yesterday, we updated our React app to include calls to the API for signing in, posting and commenting. This way it can all be done from the home page! Below is our home page now. You can see it now asks for email and password at the top to sign in. Before signing in you can view comments, but you are not able to post, comment, or like.

After signing in, all those options become available to you!
Since taking these screenshots we added more functionality too. The users name now shows above their posts. When I got home I fixed it so that comments also show the users name.

I am very proud of how much we have achieved as a team in a very short two weeks. We have gone from knowing nothing about Java, React, Springboot, Thymeleaf and all the other bits we have used, to being able to create a fully functioning web app!

If we were to do it again now, we would definitely change a few things. We would branch from the beginning instead of making all our changes in the master. We would have also made more use of React earlier on in the development. Today we added lots of features to the main React page that we had previously done as separate html pages, as we didn’t know how much could be done in React. Now you can post and comment and sign in on the home page, there are 3 html pages and 6 get/post methods which are no longer being used! Given more time we could have handled signing up on there too and not had to use any other pages!

That said we would also have worked more on the layout of our React code. Currently most of the code is on one file, in one React class. Ideally we would have separated these all out into individual classes and called them all into the main app.

Also we didn’t get to write many tests for our code. As we were trying to learn all these new technologies in 2 weeks and bring them all together, we decided early on that we wanted to try and get as many features done as possible rather than focus on testing. We could have written comprehensive tests for less features, but we wouldn’t have learnt as much.

Finally our Acebook isn’t really following the usual CRUD guidelines. You can create and read posts and comments, but they cannot be updated or deleted. Maybe next week we will take a look at that!


Todays song of the day:

Leave a comment