Working with Firebase

February 3rd, 2020
firebase

Feature-Rich

After getting everything I needed to get done today, I got down to some work, still slaving away at Maximilian Schwarzmüller's React Native - The Practical Guide on Udemy. We are really covering a lot of ground in this course, and as much as I complain about the course, I've learned an incredible amount and feel as though I have a great base of knowledge about React Native to work with. I'm sure when I take my next course on React Native, it will seem like a grade-school class, and I will likely be bored by how slow it goes, given that I'm now accustomed to this breakneck speed. Regardless, I'm still keeping the playback at 75%, and even then I have to pause the video every couple minutes to make sure I can keep up. Part of the issue is that he jumps around from one file to the next without giving any time to keep up, or jumps from one part of a file to another part that's 100 lines away. It takes time to make these adjustments, and I think he should be a bit more accommodating. Again, I'm really happy with the breadth of information we are covering; I just think it would be a lot better if he had just made the course a 50 hour course instead of 30. He could have easily stretched this information for another 20 hours, spend a little more time discussing the key concepts and slowed the overall pace down to more comfortable speed.

firebase

I keep pressing on anyways. Yesterday, we set up a connection with Firebase to house a database of information for our app. First, we set it up so that anytime a user adds a product to the store, it will be held on the Firebase realtime database and will persist from one load of the app to the next. This is about where I stopped last night, with all of this up and running. Today, I added the same ability, but for maintaining past orders from the store. In the app, a user can click on a product to add it to their cart, go to their cart, and order whatever they have in the cart. Once done, there is a separate screen that shows a history of orders for the user. Before we had Firebase hooked up, this would disappear along with the user-added products as soon as the app reloaded. Now, this information is being held in the database on Firebase. I wouldn't say this was easy, but Firebase makes it as easy as possible. After getting all of this hooked up and adding some loading spinners for a proper user experience, we moved on to authentication. In several tutorials in the past, I've used Firebase to assist in the authentication process, and I've found it to be very straightforward. In this app, we are using Redux to help with the facilitation of authentication, and the code itself isn't so bad. We aren't using any type of 3rd party authentication like Google or Facebook, just the standard email and password. So far, it's been pretty simple, but I still have another hour to go in this module before I've got it all taken care of. After that, we move on to the final app in the course, which I'm sure will be incredibly difficult.

question

I had 2 interesting things happen in the last 2 days, both of which have brightened my overall spirits about this whole process a little bit. First of all, I've been corresponding back and forth with Will Sentance, my favorite instructor and CEO of Codesmith, for about 2 months now. A while back, he suggested I attend the 2 week prep course for their bootcamp and offered to give me a free ride, which I, of course, obliged. He checked in throughout the course, and I gave him updates along the way on how I was faring. I thought it was one of the nicest things I've encountered in the professional world, and one day I hope to repay the favor in some way. After the course was complete, I asked him if he would be willing to have a chat either over Zoom or a phone call, and he said he wouldn't mind. I just got this all set up this morning, and I'm talking to him over the phone on Wednesday. I want to have some questions prepared, and right now, I have so many that I don't know where to start. I plan on sitting down in the next 2 days to write some of them down. The other thing that happened was that on Friday, I emailed the company I was 1 of 4 applicants left out of 60 for a job in Austin and didn't get the job. I thought the interview went really well, but learned a few days later they picked someone else. I decided to ask them for some feedback to see where I could have improved. They got back to me today and let me know they really liked me and thought I would have been a great fit for their company, however one of the other applicants had 3 years of experience and already lived in Austin. The hiring manager was very complimentary of my overall demeanor and passion for the position and urged me to keep it up, that I would find a good job soon. While this is exactly what I thought had happened, it was good to hear it from them, and feel like I got some closure.

Until tomorrow!

Created by Sam Thoyre, © 2019