На главную

Разработка мобильного приложения «Расписание»

Уважаемые лицеисты, сотрудники и выпускники СУНЦ!

Приглашаем всех желающих попробовать свои силы в разработке мобильного приложения «Расписание СУНЦ». Авторы реально работающих приложений для Android и iOS никаких призов не получат, зато войдут в историю СУНЦ как супер-программисты, чьими продуктами будут пользоваться несколько поколений лицеистов. Ну и, конечно, сведения о вас и ваша фотография появятся на страничке о разработчиках нашего сайта :-)

Уже созданные приложения

  1. Приложение для Android Егора Комарова (выпускник СУНЦ 2017 года)
  2. Приложение для Android Димитрия Холода (выпускник СУНЦ 2019 года)

API для разработки мобильных приложений

Общие сведения

Все запрашиваемые данные отдаются сервером в кодировке windows-1251.

Фамилии учителей (преподавателей) английского языка и физической культуры, а также номера аудиторий кафедры иностранного языка, спортзала заменяются на null (без кавычек). Это связано с тем, что в таблице с расписанием базы данных сайта указанные данные не хранятся, так как уроки английского языка и физической культуры в СУНЦ достаточно сложно организованы и проводятся несколькими учителями (преподавателями) одновременно.

В случае, если у запрашиваемого класса или учителя (преподавателя) нет какого-либо урока, никакие соответствующие ему данные (типа null или пустых строк) сервером не отдаются.

Для использования API следует отправить на сервер GET-запрос следующего вида:

http://lyceum.urfu.ru/study/mobile.php?f=функция[&параметры]

где функция — номер функции API, параметры — передаваемые на сервер параметры (описаны ниже).

Получение списка всех классов

Получить список всех классов СУНЦ можно с помощью запроса

http://lyceum.urfu.ru/study/mobile.php?f=4

Список классов возвращается в виде набора строк (с разделителем \n). Литеры классов — русские, строчные, без кавычек, вплотную к номеру класса.

Получение списка всех преподавателей

Получить список всех учителей (преподавателей) СУНЦ можно с помощью запроса

http://lyceum.urfu.ru/study/mobile.php?f=5

Список возвращается в виде набора строк (с разделителем \n).

Получение списка всех преподавателей с полными именем и отчеством

Получить список всех учителей (преподавателей) СУНЦ с полными именем и отчеством (типа «Иванова Мария Ивановна») можно с помощью запроса

http://lyceum.urfu.ru/study/mobile.php?f=7

Список возвращается в виде набора строк (с разделителем \n).

Получение списка всех аудиторий

Получить список всех аудиторий СУНЦ можно с помощью запроса

http://lyceum.urfu.ru/study/mobile.php?f=6

Список возвращается в виде набора строк (с разделителем \n). В список включены аудитории F (все аудитории кафедры иностранных языков; в таблице с расписанием базы данных сайта для всех уроков английского языка указана единая аудитория F) и S (спортзал).

Получение недельного расписания одного класса

Получить расписание уроков одного класса (к примеру, 10б) можно с помощью запроса

http://lyceum.urfu.ru/study/mobile.php?f=1&k=10б

при этом литер класса должен быть русским, строчным (маленьким), расположен вплотную к номеру, url-кодирован (не в Unicode, а в windows-1251). Таким образом, приведенный выше для наглядности образец запроса в действительности должен выглядеть следующим образом:

http://lyceum.urfu.ru/study/mobile.php?f=1&k=10%E1

Расписание отдается в формате JSON. Элемент ExistsChanges (может быть True или False) соответствует наличию или отсутствию изменений в расписании для данного класса в данный день. Сведения об изменениях доступны по ссылке

http://lyceum.urfu.ru/study/izmenHtml.php

Получение недельного расписания одного преподавателя

Получить расписание уроков одного учителя/преподавателя (к примеру, несуществующего в действительности преподавателя Петров И. Л.) можно с помощью запроса

http://lyceum.urfu.ru/study/mobile.php?f=2&p=Петров И. Л.

между фамилией и инициалами должен быть пробел, между инициалами также должен быть пробел; фамилия и инициалы должны быть url-кодированы (не в Unicode, а в windows-1251). Таким образом, приведенный выше для наглядности образец запроса в действительности должен выглядеть следующим образом:

http://lyceum.urfu.ru/study/mobile.php?f=2&p=%CF%E5%F2%F0%EE%E2+%C8.+%CB.

Расписание отдается в формате JSON.

Получение занятости аудиторий в один день

Получить занятость всех аудиторий СУНЦ в один данный день (в примере — для субботы; параметр d в запросе — это номер дня недели, от 0 (воскресенье) до 6 (суббота)) можно с помощью запроса

http://lyceum.urfu.ru/study/mobile.php?f=3&d=6

Данные возвращаются в формате JSON.

Сообщения об ошибках

В случае некорректных запросов сервер может возвращать следующие сообщения:

Контакты и разрешение вопросов

По всем вопросам обращайтесь, пожалуйста, к ведущему программисту отдела компьютеризации СУНЦ Александру Мироновичу Гольдину (комн. 207): a.m.goldin@urfu.ru, vk.com/a.m.goldin.