Basic php/mysql scheduling system for online tutoring
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
admin reminders Aug 24, 2018
LICENSE name Apr 5, 2017
check_session_time.php actual_login_time should be actual_start_time Aug 8, 2017
db.php First commit Apr 5, 2017
index.php First commit Apr 5, 2017
logout.html First commit Apr 5, 2017
newui.css initial versions Jul 10, 2017


                        PHP Tutor Scheduler


This is a very basic scheduling system for an online tutoring website. It is designed to integrate with Groupworld (, both hosted and enterprise versions, but could easily be modified to support other online tutoring systems.


- Admin control panel for creating users and sessions.
- Automatically tracks login and logout times for users.
- Ability to set start/end time for session, which is enforced.
- Reminders automatically emailed to users 1 day and 1 hour before session.


[1] Edit config.php and db.php to your requirements.
[2] Create the database:

mysql -u root < tutor_scheduler.sql
mysql_setpermission -u root
(add a user "groupworld" to database "tutor_scheduler" with extended user 

[3] Create an admin user:
mysql -u groupworld
use tutor_scheduler
insert into user values(null, 'admin', 'A', now(), '', 'password', 'admin', 'user', '', '', '', '', '', '', 101);

(replace '' and 'password' with the admin username and password you want to use)

[4] To automatically send out reminders, add a line like this to crontab (use the correct path to the send_reminders.php script):

0,5,10,15,20,25,30,35,40,45,50,55  *  * * * nice -19 php /home/tutor_scheduler/admin/send_reminders.php

[5] Log on as admin:


[1] Create students and teachers in the admin control panel.
[2] Create sessions for those users in the admin control panel.
[3] Teacher and students log in at the appointed time and are directed to their Groupworld conference room.
[4] After the session has ended, users are automatically logged off. The start time is determined by the time that both users have logged in, and the end time is the start time + the scheduled session length.
[5] Users' login and logout times are stored in the session list.

Admin users can log into any session.



API parameters can be added to room.php, just before the groupworld.htmlgen call.

By default each session is allocated its own Groupworld room, with its own storage space and whiteboard state. To make it so that the whiteboard is not persistent (i.e. that the contents are deleted when all users log off), just set the persistent_whiteboards Groupworld server option to false (/usr/local/groupworld/data/options in the enterprise license, or the "server configuration" page in the hosted control panel).