Automatic Timetable maker for school

It should be possible to turn the table into a mutable one. I can try making it.

1 Like

wow.. Happy to hear that.. school period starts at 10.15 am and first 4 periods have 45 mins each and it ends at 1.15 pm.. then lunch break from 01.15 pm to 2.00 pm. then 5th period starts from 2.00 pm to 2.40 pm, then 6th period from 2.40pm to 3.20 pm and last period that is 7th period starts from 3.20 pm to 4.00 pm.
there are 10 techers. every teacher can teach 2 to 3 subjects and in one day maximum period he get is 3. there are 4 sections. that means at a time 4 classes are going on.
There are also some optional subjects in which for a single section and for that single period there must 4 teachers go to that class to teach the the same section(students will move to differernt extra classroms to study the optional subjects)
i have seen a website where the timetable is created automatically when we enter teachers name, subjects that they are teaching, subjects, optional subjects, no. of classes, no. of sections etc. then it automatically generate the timetable for that school. should i give the website link for more clarification??


This is a data modelling problem.

Seeing a working example would help expose the underlying data model.

1 Like

That is a highly evolved web site with experienced assistance available.

So I have to ask, are you doing this

  • as a Computer Science exercise (run your own dairy farm), or are you doing it
  • just to solve one problem and be done with it? (buy some milk)

actually i dont know how to do it..coz m new to this.. but really want to do this.. it will help me a lot...can we just start with a normal timetable for only teachers and only one class

In that case, you need a solid foundation to build on.
Have you ever used

  • tables, with rows and columns?
  • a spreadsheet?
  • SQL ?
  • a relational database?

nope sir.. i m totally new

Here is a taste of what would be in store for you if you follow this path ...

Read it and decide how far you want to go.

i ll try sir

i started with teachers name, class name and subjects name.. i put them in their respective spinner.. then what should i do?

Start a Google Sheet, and type those three lists into separate sheets, appropriately named, one per column.

Don't hardwire data into your app. It annoys the Blocks Editor and any one trying to work on your app.

You also will need sheets for:

  • school calendar (dates school is in session) for the current term
  • class periods (period name, start time, end time)

If your school has different periods on different days, you will also need a sheet for:

  • calendar periods for the current term, listing which periods are available on which dates, with 2 columns:
    • date
    • period name

Decide for yourself whether you want to type all that up directly into a sheet from your PC (easy), or code part of your app to add/edit that data into the various sheets of your app.

I recommend the sheets because they make the data for your app easy to update and visible to people maintaing your app.

For sheet setup, see the Spreadsheet component docs.

I ll try sir

how to send data to the spreadsheet? i put the spreadsheet id and in the block section i used write col block. But it does not appear in the spreadsheet.

To diagnose this, we would need:

  • The exported .aia file
  • A link to the spreadsheet (View allowed)
  • The name of the Screen where the problem occurs
  • A Downloaded Blocks Image of the block issuing the request.

TimeTable (1).aia (18.9 KB)

Spreadsheet Id 1c4QyBIFrcZwadaPaS7mgbsCtgOGNLGuZZRr5aUoLnwM

I see by looking at

that you have not added any heading rows to your sheets.

There is a bug in the AI2 sheet component that crashes attempts to add to empty sheets.
(This missed testing because the natural tendency of sheet developers is to add heading rows manually and accommodate them in their code.)

So please go into your sheets and type up headers.

Also, you will need

Your .aia file lacked the necessary files needed to authenticate the spreadsheet update calls.
See Google Sheets API Setup
for how to complete the setup.

It is important in your variable names to distinguish between individual items and collections of items, like lists and dictionaries.

In English, adding an 's' to the end of a name denotes a collection, usually a list.
If there is no trailing 's', that denotes exactly one teacher, like TheTeacherWhoJust FlunkedMe.

I encountered problems with getting your app to load in my companion.
I got load time errors mentioning your spinners, for no apparent reason.

I recommend starting a fresh app with only a minimal functionality, to get your sheet read/display/update cycle working without anything advanced. Settle on which multiline display you want (I prefer ListViews over spinners), and skip the eye candy extensions until the rest of the app is stable.

Ok sir