I have made many improvements to the system. Most importantly, the code was converted to a more modern frontend stack (tailwind + vue), a process which turned out to be more cumbersome than expected.
There are many improvements under the hood. Below is a list of some of the more important changes.
This will hopefully add some convenience for lecturers who administrate or supervise projects in multiple degree programs. Since there are so many projects and users, listings are always filtered against a number of criteria. In the previous system this was done via user menu entries which offered some combinations of criteria like all, relevant, free, taken, orphan, lecturer, student.
Relevant meant that the project or user shared some tags with the logged in user. The only way to filter a list against a different tag list was to temporarily modify your profile settings.
This is now much simpler and easier. In such views you will now see an (in the future hopefully draggable) box with checkable filter criteria which you can quickly modify to see an instantly updated view. The tags in your account setting are now your default filter tags.
Please keep in mind that your default filter tags determine what other other users will see when they view your data.
As a consequence, there are now fewer routes (URLs). This makes no difference at all to you, unless you had bookmarked some of those static list views (not very likely).
This is now more logical. The rules are:
BTW, the combination of teal color and faint shade can never occur since a project cannot at the same time be supervisor-less and undertaken.
The parser I used in the old system is not maintained any more. After trying out various not fully satisfactory replacements I am now doing this also with vue.
The rendered layout looks a bit plain because I am using the official github markdown stylesheet. I might improve this when I have the time.
For lecturers we now show also the list of co-supervised students.
The following unexpected scenario could occur (probably with BADHIT projects). A student proposes a project, then a lecturer takes over as supervisor, then the lecturer makes the project private and some time later the account of the student gets removed which corrupts the database.
This is now handled more gently.