the server side of timetable app