I started exercising my creativity muscles a few months ago by creating a logo for our frenchie Louie. Then I created this blog as the motivation to keep that momentum going. Along the way I've done a bit of design, a bit of code, and even more writing... all of which have helped me get back that feeling of creativity and productivity that I was looking for. I also realized this could be a good time to learn some Javascript to take advantage of all of the tools at a front-end developer's disposal.

But reading and watching can only take you so far. To give my education a boost, I thought it would be fun to try to build a web app. The concept for the app is simple and perhaps valuable to users, but that's TBD and quite a ways away. The real value for me is in better understanding how CRUD (create, read, update, delete) apps are built with front-end tools. As you'd expect, finding time to take on a project like this outside of a full-time gig can be tough. Luckily I'm not in a hurry and not doing this for a client (phew).

Over the holidays I reached a milestone in my learning and am ready to share the results. I now have the base for a web app using Nuxt and Firebase. As you can see from the demo, the functionality is straightforward. You can signup for an account, login, and manage your profile. The reasons I decided to share at this stage are 4-fold:

1) I had a hard time finding working examples of this setup. Don't get me wrong, Nuxt and Firebase both have strong communities and a TON of resources, but I had trouble finding examples of auth with profile management. Perhaps it's because I'm still early in my quest to dominate JS, but I found this part extra difficult without someone helping me understand how the pieces fit together. I have learned a ton from others posting their learnings online, hopefully this can do the same for others.

2) I believe in open source. I've seen the impact open source makes first hand through the success of OpenStack and the other projects at the OpenInfra Foundation. OpenStack is one of the largest open source projects in the world and provides infrastructure for some of the world's most recognizable organizations including CERN, Tencent, Blizzard, Verizon, Walmart and more. Even if a project will never reach that level of success, it can take advantage of the benefits open source offers.

3) This is an exercise in vulnerability. It's against my nature to put work out their, especially because I tend to be overly critical. Much like the designs and writings I post online, I get butterflies everytime I git push. I feel like I get a little more resilient every time. Publishing code like this is another example of this.

4) I want to learn more and hope that sharing this setup will prompt others to improve on the code. Whether it be more efficient ways to write JS or better uses of Vuex, I'm certain there are still several areas that can be improved. I plan on soaking up those improvements like a sponge.

Poke around the working demo at https://nuxt-firebase-starter.netlify.app

Check out the repo at https://github.com/iamweswilson/nuxt-firebase-starter.

Happy 2021! Here's to hoping others are able to answer any Github issues that follow...