It seems like while I was in school I had so many ideas for projects but I could never find time to work on them when keeping (or trying to keep) my grades up. I'm embarrassed to admit how many good ideas I thought of, put on the back burner, and then totally forgot about. Now that I'm a full-time developer, I never seem to want to code when I get home. It's not that I don't enjoy coding, quite the opposite, but life always seems to just get in the way. I've decided one that thing that might help with this is just getting a project going. At the moment I don't really have anything ground breaking but I know I want it to cover a couple things.
Sometimes I'll just be browsing around the internet and hear about a new technology or service that I'm really interested in but the service needs some kind of already existing infrastructure. For example, I've really enjoyed reading about GraphQl and have thought about ways to learn more about it. Unfortunately, you can't just build a GraphQl service with nothing to query -- or maybe you can but I'm not going to. Other technologies like gRPC and Redis sound extremely useful to know but need a purpose. Knowing all of this, I decided to build a project that would start as a CRUD (Create, Read, Update, Delete) web application and see where it goes.
I know for my project I'm going to need data, and a lot of it. Many of the things I want to play around on work a lot better when there's pre-existing information to pull from. I don't have a great pool of data to pull from so I thought I'd take someone else's. Luckily for me, my home state of Missouri collects a lot of free-to-use data at data.mo.gov. While I'm not super particular on the data I use for this project, I thought I'd use something at least kind of personally interesting, alcohol. Ahh yes, nothing like keeping track of my favorite watering holes. I decided this project will use the "Missouri Beer, Wine and Liquor Wholesaler List with Zip Code" data set which just so happens to be updated daily. Now that I've decided on what data to host, it's time to decide on how to host it.
This is truly the golden age of hosting options. Just by web searching for hosting, I find options such as: Google, Microsoft, Amazon, Digital Ocean, Linode, etc. For many school projects I ended up using DigitalOcean, mostly because they had cool stickers. I thought since they already had my billing information, and they offer really reasonable prices for what I'm looking for, I'd continue to use them. So what am I looking for? I think a huge part of the learning experience is building the entire project from scratch, and since I'm looking for learning experiences (and items to blog about) I'll just need a basic box.
Now that I have the idea thought out, it should just be slowly working through the steps. Sometimes it can seem like a hard task to keep up on, but I find the most difficult part is just to start. I'm glad to be living in a world where I can share my thoughts and goals and where you all can keep me accountable. I plan on logging my steps in some posts so hopefully others can learn from my growth and my mistakes, and so you can hold me accountable :)