This past week was another slow week, mainly because I ended up getting sick after my R & R trip. It was nothing serious, I was just tired most of the time and needed extra rest. I did manage to tackle uploading pictures with Firebase Cloud Storage. I also came across a project that the Firebase people developed to showcase their product suite, which was pretty helpful.
Uploading Images to Firebase Cloud Storage
Uploading an image associated to a listing in my app was a good exercise. I discovered that I couldn’t just upload the image and create a post in one call to the database, or in this case Firestore. I had to get a reference ID for a post that wasn’t created yet, then link to the image I was going to upload that would be associated with the post. Once I uploaded the image, I needed to associate the storage URI and the download URL for the image to the post. After I did all of that, then I could actually create the post. This took more time than I thought, because I never used any kind of cloud-based storage before and I didn’t set up my promises correctly. I came across the Friendly Pix project on Github and used that to help me figure everything out. The next step is to actually load the images for all my listings on the main page. That will definitely be trivial.
Friendly Pix
This is a really interesting project. Friendly Pix is essentially an Instagram clone built with the Firebase platform. They built the frontend with Firebase and jQuery, with micro-services built on Firebase Cloud Functions for things like image blurring for flagged photos. They have all the functionality that makes a social site fun like following, liking, posting, and commenting. They even did everyone another solid by sharing their design details. I spent some time looking at it, and I’ll look at it again. I like looking at how other people structure their applications, because there’s always some useful techniques that I can incorporate into my own practice. Looking at this app also makes me rethink all the assumptions I made about making my site. Either way it’s a good learning tool. If there’s one thing that Google does well, it’s providing examples for their platforms and tools.
Defining My MVP
I’m getting to a point where I’m asking myself, “What do I need to build next?” This definitely means I need to step back and concretely define what my MVP is, so I don’t keep building cool, but unnecessary features and focus on the core of what I’m delivering. I aim to do that this week.