Open /api and /client seperatley and run
I had the idea of making a productivity App, where you can create different tree structures to plan progressing in different skills, which is exactly what you can do with this App. You can create categories and create trees in those categories, where you can have multiple steps (simple checkbox or counter) in a tree structure. The app displays all your trees in different ways. (You can search for a tree via searchbar or can scroll through them in different kinds of sorted lists.
It's a React App running JSON Server as a sort of mock backend. It's using redux for state managing and I used purely React hooks to create my components instead of classes, as I found them way better and wanted to learn React in it's most modern form right away.
This project is a school project (that's also why the text in the App is in german (not like that was somehow mandatory, I just felt like doing it idk)). In one year we learned react and were then supposed to create a project based on our newley obtained skills.
I have to say of the project itslef I am very proud of, it's not only my first big React project, it's one of my first big coding projects in general. Besides a lot of desperation, I also had a lot of fun and learned a lot building the App.
But because this is after all a school project with a deadline and I am the king of procrastionation there are a lot of ugly coding solutions that I had to take in order to finish on time. Especially Redux turned out to be a huge Pita for me, as I had to redesign the way it's implemented and it's store multiple times (it's still pretty messy tbh). I know that a lot of components could be way more reusable and some approchaes are striaght up bad. But hey, after all I learned a lot and I like it, even though it's a bit ugly here and there.
There are a lot of features I would've liked to implemented like user authetication or creating a custom backend with nodejs. Probably not going to add those, as fixing the Apps' sometimes really horribly structures would be a lot of tedious work, but I'm looking forward to implemend those and other ideas in future projects.