Learning a new technology stack can be a daunting task, but it can also be incredibly rewarding. My journey with the MERN stack—comprising MongoDB, Express.js, React, and Node.js—has been a roller coaster of challenges and achievements. Here, I’ll share how I started, the hurdles I faced, and the key lessons I learned along the way.
The Beginning: A To-Do App with Code with Harry
My journey began with a YouTube playlist by Code with Harry. The series focused on building a simple to-do app using the MERN stack. This was my first exposure to the stack, and I was thrilled to see how the different technologies came together to create a functional application. Completing the to-do app gave me a sense of accomplishment and a burst of confidence. I felt like I could build anything.
Reality Check: Building an Attendance Portal
Buoyed by my initial success, I decided to take on a more complex project: an attendance portal. This is where I realized just how much I still had to learn. The user interface (UI) I created was far from professional—it was cluttered and lacked a coherent structure. I didn’t use a component-based approach, and I ended up writing repetitive code instead of leveraging existing libraries and best practices.
A New Challenge: A Website for JoinYourTrip with Next.js
The next significant milestone in my journey came when someone from my college approached me to build a website for JoinYourTrip, a travel agency, using Next.js in addition to the MERN stack. Eager to improve, I agreed to take on the project. My coding skills had improved, but the UI was still not up to the mark. I was stuck in a cycle of confusion, not knowing how to enhance the design and structure of my application.
Learning from a Template
At this point, a friend suggested that I use a template to improve the UI. We found a template for a boat listing website and decided to purchase it. Initially, the template's code was overwhelming. It took me 7-8 days to understand its structure, but this experience was a game-changer. The template's code was much cleaner and more organized than anything I had written before. I began redesigning the JoinYourTrip website, incorporating my knowledge of Next.js and learning new techniques and best practices along the way.
Overcoming More Challenges: Deployment, SEO, and More
While working on the JoinYourTrip website, I faced numerous other challenges. Deploying the application to AWS was a complex task, and I had to learn about search engine optimization (SEO) and structured data to improve the site's visibility. Each of these challenges was a learning opportunity, and gradually, I overcame them.
The project took me 3-4 months to complete, largely because I was learning as I went. Despite the extended timeline, the experience was invaluable. By the end of the project, my understanding of the MERN stack and Next.js had deepened significantly.
Acknowledging Limitations and Continuing the Journey
It's important to note that my journey with the MERN stack and Next.js is ongoing. There’s still so much more to learn and explore beyond what I’ve covered in this article. Technologies evolve, new features emerge, and best practices change. Continuous learning and adaptation are essential in the world of software development.
Key Takeaways
Looking back, the most important lesson I learned is that the best way to learn is by doing. Hands-on experience with real projects teaches you far more than any tutorial or book can. Here are a few specific takeaways from my journey:
Start Small: Begin with simple projects to build your confidence and understanding of the basics.
Embrace Challenges: Every problem you encounter is an opportunity to learn something new.
Use Resources: Don’t hesitate to use templates, libraries, and frameworks to improve your code.
Learn Continuously: Technology is always evolving, so keep learning and adapting.
My journey with the MERN stack and Next.js has been challenging but immensely rewarding. I’m now more confident in my skills and look forward to taking on even more complex projects in the future. If you’re embarking on a similar journey, remember that persistence and a willingness to learn are your greatest assets. Happy coding!
To visit the JoinYourTrip website, click here.
Support
Thank you for reading! If you enjoyed this post and want to support my work, consider supporting me by subscribing to my newsletter or sharing this post with a friend.