So last week I put together a reddit like site, a clone of reddit as you can say. This is my first MERN stack application I am putting out to the world. I pretty much did a rush work and cut a lot of corners, just to get it out there and see how it goes.
For those who don’t know, MERN stands for Mongo database, Express framework, React.js framework and Node.js runtime environment. Together they create a software stack for building custom web application.
Now that’s all the technical stuff, let me share what’s exactly I mean by all this..
As funny and absurd as it sounds, I think it’s a similar feeling. I chased node, I tried to figure it out. I dreamt of building stuff with node. Eventually I figure it out. I learned how to build stuff with it. Then slowly I got bored with it. Looks like the honeymoon period is over 🙁
This is actually an interesting take on learning code.
And this also happened with me when learning other languages!
Last season I built a twitter clone in Node.js. It’s a social media web application built with Node.js, Express, Mongoose and Passport.js.
I deployed the app into a live server in Heroku, making it my first live Node/Express app.
I first shared the link onto the Node.js Facebook group for feedback. I also asked people not to attack it.
Here’s the app in action: https://www.youtube.com/watch?v=fMIU9cG4qmw
So after launching the site, so many things I realized for the first time. Let me start with the positive first:
I chose Node.js to build the backend of my web application, just so that I can use a single language to build both the front and the back.
I am not a fanboy of this language, and neither should you.
The first thing you learn when building a web application is CRUD, Create Read, Update and Destroy. I was learning Node.js to build the backend of my application. The first few lessons were about creating data, and then editing it.
In MongoDB mongoose, there are some handy commands for creating, editing items. Let’s say I have a blog post which I created. To edit it, I call the
.findOneAndUpdate() method for editing the existing collection.
I soon figured out there must be a
.deleteOne() method to delete an item from the database collection.
I gave that a try.
Last week I ran into a real world problem.
It’s hard to keep track of my washed and dirty clothes. I have no idea how long it’s been since last wash. So I needed to track them by making a list and counting the dates.
We have limited hours everyday.
In any given day, we can’t always utilize every hour of the day. To get the most done, you must quit many things. You must quit projects, say “NO” to things, so you can succeed at your goals.
We are always being reminded not to quit, just go for it, just do it. Any motivational seminar, video or quote tells us to never quit.
But does this kind of motivation really works?
It doesn’t, here’s why:
An overview of what I am going to build:
Steve Jobs and his first iPhone changed everything. We were introduced to a new era. After the launch, every other phones were just a copy of the iphone. But I am not here to talk about the technological revolution of the smartphone industry.
I want to discuss the lessons I learned from Apple’s iPhone from a product development perspective.