GithubHelp home page GithubHelp logo

p-rth / substitution-scheduler Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 394 KB

A program to help with scheduling substitutions in schools

Python 100.00%
excel school school-management school-project spreadsheet student-project substitution substitution-plan substitution-schedules

substitution-scheduler's Introduction

Substitution-schedule-assistant

A program to help with scheduling substitutions in schools

Features :

  1. Real time updates based on what options you selected.
  2. Customizable theme and scaling.
  3. All data saved in excel format
  4. Set unavailable classes / Teachers.
  5. number of free period display with information on where teacher is busy / is free
  6. click on teacher to check time table
  7. filter needed teachers by department
  8. very user-friendly
  9. Universal search including (name / class / number of free periods /is Free?/is Unavailable?)
  10. sql support for local and remote databases

First start & intro :

When you start the program for the first time It will ask where to read the data from (Excel Or a SQL server):

enter image description here Here you can select the excel file with the containing all the teacher data by either clicking the 'browse' button or entering a path. The excel file should be in in a proper format to be read by the software.

You can olso Export the exel data to the sql server (this will overwrite the previous data in SQL) :

Exporting

Reading from a SQL server :

Exporting

After Selecting a valid data file the main window will open up :

Main Window

enter image description here

This window consists of many things:

(1) : The department filter : use this to show teachers of only a certain department

(2) : Day & Period selector : Select a day and period to show the status of faculty at

(3) : Available Faculty : list of all the teachers free at the selected day and period

(4) : Engaged Faculty : list of all the teachers Busy and with whom at the selected day and period

(5) : Status bar : Click on any teacher to view number of free periods for that teacher here

(6) : Search Bar : Search for teachers by name / class / number of free periods /is Free?/is Unavailable?

Search Bar Tricks :

To find Teacher By name : Enter Name

To find Teacher By Class : Enter Class

To find Teacher By number of free periods : Enter Number

To find Teacher By is Free? : Enter "Free"

To find Teacher By is Unavailable? : Enter the exclamation Mark('!')

Child Window (Time Table view)

enter image description here

(7) : Set unavailable : to make selected teacher not show up in free list (On selected days & Even If the Teacher has a free prd).

This Is the Time-Table window where when you click a teachers name in the main window, the time table gets displayed. The cells with ('-') means the teacher has not been assigned a period / Is free.
Crossed out classes mean the class is unavailable.
To copy the time table for a day click the respective name of the day.
To copy time table by period click on the respected row.


these are all the things that you see when you open up the window. When do some interaction, there are some more sub-windows that show up :

1. Right click menu :

enter image description here

1.1. Check Time Table :

Obsolete option -- use the child window to look at time-table of teachers

1.2. Edit Data :

Opens up the excel file in any installed office software to edit

1.3 Select unavailable classes :

enter image description here Using this feature you can select a number of classes and give them the status of 'unavailable' - teachers teaching these classes will show up as free and when viewing the time table(1.1) these classes will be crossed out these classes will also count in the free period that are shown in the status bar(5)

1.4 Preferences :

enter image description here

Here you can scaling of the program and choose from 150+themes available

the ⓘ icons

these icon have information regarding the window they are on because most people are not gonna read this documentation lol

the Excel file format

You can skip this part if the data has already been entered for you

The data for the program is read using a file in the directory of the program named 'Teacher_data.xlsx' If the file is not found program will ask for the file (img 1) If a valid file is provided it will be copied to directory of the program with name 'Teacher_data.xlsx'

excel file opened

What you see here is a map of what gets read by the program the elements in green are read by the program and elements with a white/not shown background are ignored

one sheet of the excel file only contains the time table for one teacher

A1 : The department of the teacher

The department can contain any numbers,charecters excluing ':'
the value is read after the chracter ':'(i.e.. program ignores everything before it)
extra spaces at the ends of the string is removed

A2 : Name Of Teacher

The whole cell is read for the teacher name can contain any numbers,charecters
extra spaces at the ends of the string is removed

B4 - F11 : The time Table Of the teacher

any spaces are removed
any lowercase charecter is converted to uppercase
empty cells are treated as free periods for the teacher

Sheet names

sheet names

as there is a uniqe sheet for each teacher. in the final data file there will be alot of 
sheets so,it is suggested to name the sheet as <teacher_name,teacher_deparment>. This is not
read but helps in organising the sheets

Example Data Files

Template

Example File

the SQL server layout

the sql server is simple 2 table database. in the server a database is created named ssa_db inside the database there are 2 tables : teacher_data and time_table

The teacher_data sheet stores the subject that teacher teaches and other related info (can be added in the future). The time_table sheet stores the name of the teacher along with the day number (0,1,2,3,4) and the time table of the teacher for that day

time_table :

time-table

teacher_data :

teacher-data

Made with ❤ by Parth Sahni

substitution-scheduler's People

Contributors

p-rth avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.