Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

hifce's avatar
Level 8

How to Go About Creating a Student Schedule

Hello everyone,

I would like to make a small app on student schedules. How would you recommend shaping a weekly schedule for students. What objects, models, algorithm, relationships?

I know I'm describing this super vaguely, but want to ask as an open-ended question.

I'm a newbie and I really appreciate all the brainstorming!

Thank you so much!

0 likes
9 replies
Screenbeetle's avatar

Hi hifce

What ideas have you had so far? Open questions are good but good to start with something :-)

1 like
hifce's avatar
Level 8

@Screenbeetle Hey, thank you for getting the conversation started. Here's what I think:

I will need a model for each of the below:

Student

This will reflect a student's info, class, schedule reference.

Schedule

This will reflect a map for timeblocks.

Timeblock

This will define different time blocks for different classes, student groups, different days, even different individual students.

Student

So student will have one schedule. (schedule_id) and basic info about the student

Schedule

Will have time block pool per student or object. For example student A (student_id) will have a schedule which will glue all time blocks for that specific student. (an array of timeblock_id)

Timeblock

This will define the day of the week, the time interval and serve for lego pieces for the schedule.

Still thinking for the rest of the relationships...

What do you think?

hifce's avatar
Level 8

Did I mention that I'm a newbie?

Screenbeetle's avatar

Morning.

You have outlined a good start. You are probably missing a model/table to handle classes. Also - what defines a student group?

kyslik's avatar

What you have now is called conceptual model.

You should get pen and paper and write down some requirements you really want to have and some that would be nice to have. And iterate your conceptual model on it again. Nothing fancy just a list.

After you are satisfied with conceptual model move on and create yourself logical (data) model (most important one) list all attributes, PKs, FKs, and IDs and data types and normalise it. Table names are not so important at this stage and just hit the nail so its pretty clear what that entity (or entity set) means.

After that make ER diagram (of logical model) and share it here.

Note: you can use free tool as mysql workbench to design database model, workbench does some normalisation for you (for example M:N relation is always through pivot table).

hifce's avatar
Level 8

@Screenbeetle and @kyslik Thank you so much for your response to my question.

I've noted down everything you pointed out.

Yes, I'm missing some of the below models: Classroom Teacher Group (Student's College or Class)

I call it the generic "group" name because there will be pull-outs from classrooms to small groups in the application, hopefully.

Yesterday, I've started reading the whole Laravel documentation from scratch and hopefully when @JeffreyWay starts building a series on shaping DB I will start watching them as well. In the meantime, I'll work on your suggestions and revisit this topic hopefully next Friday, or Saturday.

Thank you so much again!

All additional suggestions are very much appreciated. Please keep this post active for this newbie!

Thank y'all...

angelinasteed's avatar

Take a look at iStudiez Pro and My Class Schedule (second one is free) to get general idea of what features should be included. I've started using schedule app after I had to ask for research paper help online as the assignment slipped out of my mind completely.

Please or to participate in this conversation.