Project Inspiration and Purpose
After seeing so many "Life RPG" apps, I was inspired to make my own version that had all the features I wanted
that the others lacked. So the purpose of this app is to do just that: provide a nostalgic alternative
to apps that measure areas of your life the way a video game measures experience points and character evolution.
The Tech that Made it Happen
I used React to create this project because it seemed like the best choice, with its packages, hooks, and state management.
I also used NodeJS and Express to create the server because I really enjoy building with JavaScript and I was eager to learn how to
make a "full-stack" web app with just one programming language. I also used MongoDB because of the scalable cloud services it provides.
Challenges and Lessons
The number of lessons I learned from this project alone is too many to detail in a simple paragraph!
Firstly, due to the complex structure of the "creature" objects, I learned a tremendous amount about the importance of refactoring code
and building a project that is clean and easy to maintain.
I also learned about the importance of writing unit tests before coding any of the project itself.
Another important concept I learned was the necessity of having a plan when designing any project: I learned what
works for me, how to mitigate my weaknesses, and make great use of my strengths. I used this plan when creating mindful.io.