vatz88 / FFCSonTheGo

FFCS course registration made hassle free for VITians. Search courses and visualize the timetable on the go!
https://ffcsonthego.vatz88.in
GNU General Public License v3.0
284 stars 78 forks source link

Automatic Timetable Generation Feature #241

Open ryuk7728 opened 6 months ago

ryuk7728 commented 6 months ago

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...

therealsujitk commented 6 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.

ryuk7728 commented 6 months ago

Okay, I will try and integrate this feature with someone else's help.

Thank you

Amrit02102004 commented 6 months ago

I will try to help

ryuk7728 commented 1 month ago

JavaScript code for generating timetables: https://github.com/ryuk7728/JavaScript-Timetable-Generator-for-FFCS.