Mistakes Made When Making a FullStack web app
Tags: javascript, react, productivity, discuss
Published: 2022-02-27 18:08:18

So Recently I've been working on a FullStack MERN Webapp. Just to give an idea I have done a few mini projects and even worked collaboratively while I was interning. And it's almost been a year since I've started web development. However, I had not built a full-scale app yet. 
But at the starting of this month, I promised myself that I'll start my project and finish it by the end of the month. 
Fast forward to 15th February, I started to notice that I was having a hard time keeing track of things and decided that I should write whatever I encounter as a problem and keep in mind not to repeat when I recreate new stuff.
So here are some of the mistakes that I made while building an Webapp and probably you should avoid too. 

## Mistake 1: Didn't Plan the Project beforehand.
My first mistake was not having a proper guideline or context to what I wanted in my app, what designs should I adopt, how do I manage my states, how to write my APIs. Nothing, Nada.
That's essentially because I thought, since I've already worked on a collaborative workspace and have an idea how that project was build, I can easily do it on my own here. 

Short answer, you can't. Even the previous project that I mentioned has been thoroughly planned, and I was a part of that too, which in turn made me overconfident and loose track of what I wanted to build. 

**<u>Solution</u>**: 
Always plan ahead before creating any large scale app. 

## Mistake-2: Not using advanced concepts such as ContextAPI or Redux for state management.

I'll admit, I knew about the concepts but didn't bother to put much thought to it until much later. By then I had already created essential parts and UIs of the app, it was functional as well. So when I made changes and added new things, the existing ones started to break. I had hard time again to manage the various states and side-effects of the app. 

**<u>Solution</u>**: 
Use Advanced state management systems to build large webapps. 

## Mistake 3: Not using libraries or packages when needed.
I don't think of this as a huge mistake but a mistake regardless. What I did was to write my own css and error displaying methods. 
I eventually changed the error displays using a package but it would have been much easier if I adopted it at the start of the project. The CSS could not be refactored so I couldn't do anything about it, but still I'm proud of it that the app looks good to me and is responsive. 

**<u>Solution</u>**: 
Take help of packages when needed. But don't overdo it, because then the app is not yours, it belongs to those packages and libraries. 

## Mistake 4: Time Management
This was the one of the most essential thing that I learned while building the app.
Had I planned the app before hand I would have a rough idea, how much time each component or modules will take to be built. 
I had to rush into a lot of things in the second half of the month and I could see that doing that messed my code up more than I was building. I did stress over a lot of stuff which was fairly easy.

**<u>Solution</u>**: 
Manage time properly so that you get enough time to relax and rebuild stuff. 

So these are the 4 essential mistakes that I learnt and will be using the solutions for my next project in the month of March. If it helps in any way do let me know! and follow my [Twitter](https://twitter.com/Neo_kaizerr) and [LinkedIn](https://www.linkedin.com/in/sobhandash/).