Almost Done with it
I purchased Colt Steele and Stephen Grider's The New Modern JavaScript Bootcamp back on November 29th, almost a full month ago to the day. If you follow my progress, you'll know that I work incredibly hard every single day, and usually focus only on one thing at a time, like a course or a project. That being said, this 52-hour course has been a behemoth. It is true that, in the process of working through this course, I also had 2 weeks of Codesmith's CS Prep, so I wasn't able to get much done on this course during that time period. I also picked up a freelancing project, but I haven't done much work on this yet. I was hoping to get clear of this course and the CS Prep course before I devoted my time to the freelancing project, and it looks like I'm finally reaching that point. I have one more 2 hour section left in this course and I can finally put it to rest. One of the nice things about my portfolio is that, when I finish a course like this, I can quickly add it to my array of coursework and I get that feeling of accomplishment. That alone is driving me to the finish line at this point.
Earlier today, I finished up on the main project for this course, which was an e-commerce site built in vanilla JavaScript. Well, I guess it wasn't completely vanilla JavaScript, since we used Express and Node on the backend, but there were no frontend frameworks involved in this project. Actually, there's one short CSS file and absolutely no HTML files whatsoever. All of the HTML is created through JavaScript functions, which is really cool. The app demonstrates a ton of functionality and I learned a lot in the process of creating it. Out of all of the projects we built in this course, this one was clearly the most complicated. In the other projects, I felt certain I could re-create them on my own with the guidance I was given, but this one would be pretty tough to wrap my head around if I were implementing it on my own. In all, there are close to about 25 files in the entire project, and a lot of moving parts. There are 3 different databases that are created by user sign-ups, the admin adding products, and users adding items to their carts. I created an e-commerce site a while back using React and it was really complicated, but I think I'm able to make more sense of that React project than I am this one. I think there's definitely a reason people like to use frameworks, but it's great to know how to do it without one.
I just finished up a section on testing in JavaScript, and the final section has us build a testing framework from scratch. Testing in JavaScript is not something that really interests me that much, in fact I find it kind of boring. However, I understand how important it is, and am trying my best to keep an open mind to it and give it my full attention. I will certainly be glad to be done with this last section, though. As I said, when I finish this up either later tonight or, more likely, tomorrow, I'll be giving my full attention to the freelancing project I signed up for a while back. My aunt asked me to rewrite her site for their real estate appraisal company that was initially created with Wordpress. I started this project a while back using Gatsby, and am now re-thinking that. While I really enjoy Gatsby, it's still fairly new to me, and I'm much more well-versed with React, alone. It wouldn't take much to get back to where I was with React, although it would mean I would have to implement React-Router instead of relying on Gatsby's built-in system for routing. I also started with Material-UI, which I absolutely love, but I think it may be overkill for what they need done on this website. In the end, most of the styling will be fairly simple, and I could probably achieve more with less, in this case. I'm really good with Semantic-UI, so I think this might be a good way to get to some comfortable ground in the project. Once I get everything created, the real challenge will be trying to figure out how to change over their site from being hosted on Bluehost to being hosted on Netlify, which is my plan. This will involve some skills I haven't developed yet, and a little learning on the fly. I'm sure I can figure it out.
Until tomorrow!