Tips on making my own timetabling software

Started by Kenan Šabić, May 14, 2024, 12:10:03 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Kenan Šabić

Greetings people of FET forum,

I am a software engineering university student working on my graduation project which is a university scheduling/timetabling system. In order to make my own project I am researching similar projects that already exist, and what better place to look than FOSS projects like FET. This is why I am writing here to ask whether there are any tips or advice you could provide to make the creation of my own software easier or better and with less pitfalls. My project uses Java and Sprinboot and we are using Optaplanner as our constraint solver. I am willing to share more details if anyone is interested. Any advice, resource or interesting fact is very much welcome.

I thank you in advance for your responses.

Volker Dirr

Well, you should think about what you want to do exactly, since "easier", "better", "less pitfalls" are pretty imprecise.
For example "better": Do you talk about the speed or quality of your constraints? Then you should talk with the Optaplanner guys.
If you want to improve the speed by using an other algorithm. Of course you could do it like in FET, but since it is a project for graduation, i think they don't want to see that you can copy and paste an algorithm. You should research an own algorithm.
Or do you talk about code quality. You could also improve that in your source of your projekt.
Or do you talk about the GUI and how teachers use it? You could improve that also. But "easier" and "better" is often a coin with 2 sides. If you make it "easier" and "better" for some guys it often mean you remove some features for advanced users. Or if you make the "better" for the advanced users, then it will be on the other side less "easy" for beginners.

So overall I think you should think first of all what you want to do:
- improve the Optaplaner algorithm?
- write an own algorithm?
- improve your source quality?
- "improve" your GUI. Who is your user? A beginner or a advanced user.

Difficult to give more information. Maybe me and other can give you more tips, if we can see your project. So can you please give us a link to your project?