A month back I was just ready to make my first full-stack application. I had spent a lot of time studying nodeJS, MongoDB, express but it was time to put them all together, making every bit of learning count.
One fine day one of my senior (who knew I was learning development, I was lucky to have him to back me) approached me and asked me if I can make a web-application for Cybros (A computer club in our college). I immediately knew this was my opportunity so I accepted the offer.
The problem: Cybros organizes lectures, talks, meetups, classes, workshops, competitions and what not so we have to use 3rd party applications to create events and register users.
Solution: I created an application in which admin can create, update, delete events and user can browse and register in events.
Here are some common difficulties that I think most of you will face while developing your first full-stack application:
- Designing the structure of the entire application
I particularly found it hard as I was just said to make one application with a very vague idea and no requirement list so I had to think of problem then come up with an optimal solution and design accordingly.
- Using other dependencies
When I started the project I knew about some modules that could have been of great help but I decided not to use them as I will not learn anything more from it. So it took me a while to figure out how to do this and how to do that.
- Bugs due to testing application on one browser only
I used to test the application only on Mozilla Firefox. So I faced a lot of issues of improper UI and no responsiveness of web application. So make sure you test your website on multiple browsers.
- You alone won’t find all of the bugs by yourself.
My friends came to my rescue. I used to show changes that I made to my friends regularly, so they used to try all set of permutations and combinations and find something buggy in the application.
- You will push something stupid to the main branch of the code-base
I accidentally pushed buggy version in the master branch. As the project was gaining popularity and more and more people were contributing to the project.(Yes, the project was open source but most of the work was done by me most of the other contributors were responsible for UI changes) People immediately started creating issues that application is not working. So make sure you have someone to review your changes.