It sucks for many reasons. In this post I’ll explain the most terrifying issues, why it was implemented the way it was and explain how I think should be improved in future versions.
Donnees was designed for a since fair, to motorize fish crops (yes, fish crops!), and with a deadline. I’ve been the only user since it started to been developed. That lead me to do some intolerable mistakes: all filepaths are relative instead of absolute, the database and the configuration file is in the same directory the code lives. At first this things looked like a great idea, because I wanted to be able to execute the program from a USB drive without any changes, and didn’t know the “right” way to do that.
A lot of configuration variables are missing, since I was the only user and developer the best way to configure something was editing the code!, I always knew this was wrong, but remember that I mentioned I had a deadline? All the (few) configuration options are in a lots of configuration files (one file per variable!) (!), again, remember the deadline.
These, and the other problems the software has wasn’t much important when I was developing this, because the data I was collecting with it was way more important than the software itself.