Lessons I learnt from developing an Event Management System

Muhammad Yousuf
2 min readSep 4, 2023

Technologies used :

  1. Spring Boot
  2. Vanilla Javascript
  3. PostgreSQL

Prioritize Planning

So this was the first time that I was introduced to backend development. Before this, I did not know anything about APIs, REST APIs, GraphQL, HTTP etc…. Plus, we had a tight deadline of 2 weeks, I was quite jumbled up and cluttered. In that rush, I did not plan anything and went directly into coding. This was my first mistake and a mistake I would continue to make for a few more projects until I learnt it the hard way that spending some time to plan before jumping into code can save you a large amount of time later on in the development phase.

Plus, I did not plan the database design part and ended up with a badly structured database which made it seem more like a spreadsheet than a database. All these could have easily been solved by normalization techniques if I had given it some thought.

Choosing the Right Framework

As a beginner in backend development, I had limited familiarity with the frameworks available. Consequently, I made a choice based on blind faith and selected Spring Boot. However, I soon realized that Spring Boot, despite its battery-included functionalities, posed challenges, especially for beginners. Its verbosity and complexity required me to grasp numerous concepts and architectural design patterns. It also took me some time to get used to the N-tier Architecture and how to structures files according to it. In hindsight, starting with a simpler framework like Node.js would have been a more suitable choice, allowing me to build a stronger foundation before diving into more intricate patterns.

Gradual Progression

Starting with a simpler framework or technology and gradually progressing to more complex ones can ease the learning curve. This approach allows for a better understanding of fundamental concepts and reduces the overwhelming feeling when encountering advanced topics. By mastering the basics, you can build a solid knowledge base that will benefit you in the long run.

Exploring New Tools

Throughout my backend development journey, I came across new tools that proved invaluable in streamlining my workflow. One such tool was Postman, which offers extensive features for API testing and documentation. However, due to its limited customization options, such as themes and font choices, I decided to explore alternative tools. This led me to discover Insomnia, a tool that provided the customization options I desired and enhanced my productivity.

Conclusion

Reflecting on my experience in backend development, I learned important lessons about the significance of planning before coding and the value of starting with simpler frameworks. Additionally, I realized the importance of exploring alternative tools when the initial choices may not fully meet my requirements. By incorporating these lessons into my future projects, I am confident that I will improve efficiency and build more robust applications.

--

--