Portfolio coming together
Today, I was able to get a couple hours of work on my portfolio done before I went to work and got a ton done. In my last entry, I said that I had to do some more data entry for my projects page, start my about and contact page, and work on my homepage. I was able to complete the projects page yesterday and also added the rest of the data for my coursework page. I then moved on to tackling my about page and contact page. My contact page is completely done, except for adding the final frills, such as animations and transitions. My about page's layout is complete with pictures of my family and I, but I just have placeholder text in for the actual content at this point. I reformatted my homepage to look a lot better and added some cool icons as a brief guide of my skills. I also added the link to make the link to my blog completely functional, leaving the basics of my website nearly complete. After replacing the placeholder text on my about page, I will have my portfolio to the point where I would feel comfortable deploying it. It wouldn't be finished by any stretch of the imagination, but it looks pretty solid to me in it's current state.
I don't think the implementation of the page transitions through React Router will be that difficult. I've done it in other projects and I remember it being pretty straightforward. The animations of specific elements, though, will be a pretty hefty task. This is something I really haven't done much work in. My plan is to implement Pose as an animation library, although Semantic UI actually has some animations built in that I could possibly tap into. I messed around with them shortly this morning, but had a really hard time getting them to actually function. This is going to add quite a bit of life to my site, so it's definitely something I want to take the time to implement soon. I would also like to implement React's lazy load and suspense components if I can figure that out. I have a lot of images in my site, and I think they will take some time to pop up in certain cases, so it would be good to have a spinner loader implemented in those cases, as well as the ability to load only the content that's visible. Right now, all of my images are living within the public directory of my app, which I think will eventually slow my app down considerably. I think it will be necessary to take these images and migrate them to an online container and access them from there, thus keeping my app lightweight enough to load on command. My immediate task, though, is to write the content for the about section; as much as I've written in this blog, it's still really difficult to write about myself, so I expect this to be more of a struggle than it should be.
A few days ago, I started a new study regimen where I break my sessions into three sections: coding exercises, building projects, and watching instructional videos. I've stuck to this plan every day so far, but I've spent more time on building my portfolio than doing exercises or watching videos. I think this is fine, as long as I'm breaking up my sessions, I'm achieving the end result I want. Yesterday, I went from doing the easiest exercises on CodeWars, 8kyu's, to moving up one level to the 7kyu's. It took a lot longer to complete each exercise, but I was able to complete about 4 of them. The more of these exercises I do, the better I'm getting at them and the better I'm getting at JavaScript, in general. I've left very little time to watch my instructional videos on Frontend Masters, as well, but I think the most useful source of learning right now is building my portfolio. I'm also really enjoying seeing it all come together and feeling like I totally own something, without relying on code copied and pasted from tutorial sources.
Until tomorrow!