Want a Windows utility to create time tables for school, based on the input information such as: teachers ( with name, color, subjects teached, etc ), classes, rooms, subjects, preferences that some teachers might have, etc.
There is no need for using databases, these informations can be saved in plain .txt files and the generated timetable must be saved into a format created by the programmer.
The user must also be able to modify the generated timetable, with drag and drop, and the program should detect and display conflicts.
A GUI with all tabs and info is attached here.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4) Aditional specifications and description for the software:
The GUI is provided, and the application will have several tabs for:
4. Groups of students
5. Timetable editor
6. Teachers timetable
7. Students timetable
The user will enter information for the first 4 tabs, such as list of teachers ( with name, shortname, color, what subjects it teach, number of hours weekly for each subject and some preferenses such as predefined hours, predefined free time, etc ), list of class rooms ( with name, shortname, collor, type and disponibility ), list of subjects and list of student classes.
All this data will be saved in .txt files inside a Data folder where the application is installed.
After data is submited, the utility must be able to generate the best timetable possible based on this data, using the following criteria:
- the preferences of teachers and clases must be meet
- the students timetable must be balanced in terms of time and subject dificulty ( for ex. each day must have about the same number of subjects, and no 3 subjects monday and 6 tuesday for ex )
- the teacher timetable must be balanced in terms of clases and windows of free time between clases ( there must be as litle windows of free time as we can get )
- there must be no conflicts such as one teacher teaching two different groups at the same time, or two different groups having the same class room at the same time
After the timetable is generated, the user should be able to save it into a specified file ( with chosen filename ), and to edit it using the Timetable editor tab ( 5th ).
The edit of the timetable should be done by drag and drop, the Timetable editor tab having 3 elements:
- the timetable graphic ( a matrix of elements with different collors and shortnames representing subjects or clases )
- a dropdown box with the type of timetable graphic ( entire timetable, teacher timetable or students timetable )
- a rectancular zone where elements from the graphic can be dragged to and from, represending the work zone ( it can store up to 32 elements )
The user should be able to drag and drop elements to and from the graphic to and from the work zone, changing the time table by this. The application must mark the incompatible changes made by the user ( when conflicts appear ) so that the the user can easily observe them and corect.
The application must have the text from the GUI into a .txt file ( such as [url removed, login to view] , [url removed, login to view] ) for easy translation.
The GUI attached here contains input fields for all the information which the user should be able to enter, and the application must store and use this information entered by user when generating the time table.