NOTES: -> This is *NOT* a complete list. Some of the tasks here will be decomposed later and new tasks will be added as we go. -> If you feel like trying to take on some task, talk to me about it. -> Tasks that start with '!' are urgent, tasks that start with '?' are low-priority. PROJECT: * Update all dependencies to the latest versions SERVER & DATABASE: ! Add some form of database version control to allow easier updates -> existing options were investigated, they are unsatisfactory ! SQL code clean-up: * Replace all single-precision reals with double precision reals * Make sure internal functions cannot be called by the main user * Make sure functions that are supposed to be executed by the main user are not public * Rename all views to v_* * Rename all table fields to use a prefix * Add a tool to initialise the database * Replace current authentication information (pair of hashes) with a salted SHA512 hash. -> Make sure it is still possible to import old passwords using the new implementation. ? Mailer configuration shouldn't be hardcoded GENERAL: ! Add comments wherever necessary -> that would be "everywhere" * Write unit tests * Write unit tests for all new Java code * Write unit tests for all new SQL code ? add more tests if possible