Open ryuk7728 opened 11 months ago
Automatically generating a timetable based on preferences does seem like a good idea, however the logic behind it feels like it'll be cancerous.
You said you've built something in Java, however I don't know of any services that will host a Java server for free. Moreover I don't see why there has to be a backend at all. Helping you convert this to JavaScript isn't something I can do since I'm in my final semester and have a lot going on right now.
I do see the appeal of such a feature (A button on the home page to auto fill the timetable based on preferences). @vatz88 what do you think?
Even if we do decide this could be a good feature to add, neither of us are available to commit to a feature of this scale right now and probably won't be for a while. For this reason, I feel this feature might be better off as a separate application.
If @vatz88 approves this feature request and you can find a way to integrate this feature into the current frontend on your own or with someone's help, open a PR and I'll try my best to review it and help you out.
Okay, I will try and integrate this feature with someone else's help.
Thank you
I will try to help
JavaScript code for generating timetables: https://github.com/ryuk7728/JavaScript-Timetable-Generator-for-FFCS.
Problem: Currently, the process of generating timetables takes a lot of time due to the manual process of dragging and dropping preferred teachers and preventing slot clashes.
Solution: I have created a website using Java in the backend, which can automatically generate timetables based on your preferences like morning/evening theory, preferred subjects, teachers and timings. As of now I am planning create an API which can be used to generate timetables.
Since I am not familiar with JavaScript I would like to collaborate with someone to integrate this feature into FFCS on the go.
This is how tool works:
https://github.com/vatz88/FFCSonTheGo/assets/69340017/7a0cebef-2cf9-45bd-aa2f-8b4ea8a724c3
PS: I have shortened the subject names, CN is Computer Networks, OS is Operating Systems and so on...