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.
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.
Always plan ahead before creating any large scale app.
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.
Use Advanced state management systems to build large webapps.
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.
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.
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.
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 and LinkedIn.