Bootcamp Diary: Week 11
Welcome back! You'll be pleased to know that this week went much better than last week! Last week was pretty tough and I was frustrated that I was struggling with React; by the end of the week though I did manage to create an app that I was quite happy with. Over the weekend I also got together with some of my bootcamp buddies online and we played some games (mostly Among Us) which was a nice fun break.
Today begins a week-long solo sprint to make the frontend of our NC News app with React! We'd made the API for it in the backend block, so I think it will be exciting now to see it all come together.
This morning's lecture was an introduction and some lessons on how to plan and design an app. We needed to draw out a wireframe (like a diagram) of all the different components of our app and how they would interact with each other. There are so many different apps and resources available to help with this, but I opted to just draw it out by hand as that's what I felt most comfortable with. It's a bit of a scribbled plan, but it works for me. I would really like to practice using Figma when I have more time though, for a much more organised process. Sometimes I think people expect every bit of my work to be perfect all the time since I'm an illustration graduate, but honestly I don't think anything I do looks good until it's finished!
Most of today was taken up by planning, but I had also created the basic files with create-react-app. To be honest, I just couldn't wait to start building!
I took it easy last night, so I didn't feel too tired this morning. Generally I'm feeling better about React now too. I still think it has a steep learning curve, but I know it will all become clearer with more practice.
The lecture of the day was about error-handling; we learnt how to deal with it if something goes wrong in our app, and we learnt how to show error messages to the user. This reminded me of when we did error-handling on the backend with our API, but there was a lot more work involved then!
I think today's lecture was the first one related to React that I fully understood, so I was feeling pretty good! I spent the rest of the day setting up the error-handling components and then building some more parts of the app. Overall a pleasant day; I don't think I got terribly stuck on anything.
Today was a bit of a busy day! The subject of the morning's lecture was about Optimistic Rendering. Optimistic Rendering means that you don't keep the user waiting for a response to their action; we would assume that the action was successful and provide them with a response straight away. If it wasn't successful then we could resolve it with an error afterwards. This can provide a better user experience for things such as posting a comment or 'liking' something; small things that don't have much impact. However, you wouldn't use it for something super important like a bank transaction for example, because you don't want to assume something like that has gone through if it hasn't. I struggled a bit with implementing Optimistic Rendering in my app at first, but I asked for help today and I got it.
At lunch time today, I watched a presentation from one of Northcoders' hiring partners. I'm really glad I did actually because I wouldn't have initially thought I would be interested in the particular job, but it really opened my eyes to the possibilities! I need to sort out my CV soon actually, but I didn't really want to spend time job-hunting whilst still in bootcamp, so I'm not going to rush it.
I worked on my app some more over the afternoon and definitely asked for help a couple more times. Although I didn't feel like I was speeding ahead, I felt like I was making progress. My main goal really was to understand how a certain part worked before moving on to the next part. By this point, my app was taking shape; I designed it look kind of similar to Reddit (although very simplified!) and you can now see all the articles and comments on there and you can organise them by topic. Hopefully tomorrow I can make it so the user can add their own comments!
Tonight I worked on my app for an extra hour, then later on a bunch of us from bootcamp had an online gaming session which was fun!
This morning I got up early and just started working on my app straight away. I still felt like there was so much to do and only 2 more days left on it!
We had a lecture about how to paginate the articles on our app so it only shows so many at once, until the user clicks the next page. However to make this happen, I will need to go back and change code in the backend and I'm a bit scared of messing something up! I might save that for a later date so I can take my time with it.
My main goal today was build a form so a user could add a comment to an article, and also delete their own comment. I pretty much spent the whole day on this, so today was a bit of a blur. Again, I asked the tutors for help a few times when I got stuck. We also got some feedback on how we could improve our code which was helpful.
This evening, I took a break from code to go and have a socially-distanced drink in our local cocktail bar; it will be the last drink there for a while since Greater Manchester is going into tier 3 COVID restrictions tomorrow. I really hope they pull through this; I'm very worried about local businesses not surviving. I may not mention it very often in my blog, but we are still very much living through a pandemic right now.
So there wasn't really anything on the agenda today; no planned lectures or meetings. This was good though, as I had a whole day to get stuck in and finish what I could.
The last major thing I wanted to achieve today was giving user the ability to vote on an article or comment. They can then have the option to sort the posts by popularity. We actually talked about this in a lecture a couple of days ago but I'd forgotten since then. I worked out as much as I could myself, but I spent a good chunk of time speaking to the tutors again today! I really wouldn't have finished without their help. I added a couple of extra bits and some styling to my app, but it's not my definition of perfect yet, so I'll definitely keep working on it in my own time until I feel it is portfolio-worthy.
The majority of the cohort voted against a show and tell, so we all played a game of pictionary instead to round off the week. It was fun after a day of hard work, but I do hope I get to see other peoples' apps at some point, as I'd love to see their take on it. In the meantime, I want to do extra work on mine anyway and then figure out hosting it!
Phew, what a week! That's frontend finished! I'm definitely going to have a bit of a rest and switch my brain off for at least some of this weekend. I'm a bit nervous now about what people I'll be grouped with for our final project, but I think everyone probably feels the same. Also I can't believe there's only three weeks of bootcamp left!