What to take away from this?
While developing the application, there were a few things that stood out for me (although some of them are probably obvious):
- Before making a timeline, get to know your tools
- I didn't have enough knowledge of the framework I was using to develop a useful plan
- Modeling in UML only works if you know what the language and framework are capable of
- Using Python like Java doesn't work
- Importing classes from Notebooks seemed easier/ possible at the first glance
- Define the core features before starting to code and define priorities for the remaining features
- I lost a lot of time on features that aren't essential to core functionality like LoadScreen, StatusScreen, testing classes/methods (arguable)
- Build everything around core functionality, a pretty application is no use if it doesn't work properly
- Ideas for more features introduced a lot of side quests, which killed time that could've been used in creating core functionality
- Program/ Implement in small steps and test + commit EVERYTHING
- After planning the layout of my classes I started implementation in big steps, without testing or commiting in between
- Implementing big structures without testing in a language and framework you're not a pro in, is a bad idea
- I had to do a lot of correction and copy + paste, because I sometimes forgot to commit new stuff for a few hours and couldn't go back to it or lost it