Сайт сервиса «Метро-Информер», v3.0, бета
Posted on

Сайт сервиса «Метро-Информер».
Бета мажорного релиза. Реализация административной панели и редизайн сервиса «Метро-Информер».
Возможности
- back-end:
- поддерживает перевод UI на разные языки;
- отображение:
- debug-режима в заголовке;
- имени текущего пользователя в главном меню;
- breadcrumbs для текущей страницы;
- города:
- хранят:
- название;
- псевдоним;
- поддерживают стандартные CRUD-операции;
- страницы:
- список всех городов с пагинацией;
- таблица всех городов:
- с пагинацией;
- с возможностью поиска по колонкам;
- с возможностью сортировки по колонкам;
- страница просмотра одного города;
- редактор;
- хранят:
- ветки метро:
- хранят:
- город, к которому принадлежат;
- название;
- строковый номер (псевдоним);
- цвет (в шестнадцатеричном формате);
- поддерживают стандартные CRUD-операции;
- страницы:
- список всех веток с пагинацией;
- таблица всех веток:
- с пагинацией;
- с возможностью поиска по колонкам;
- с возможностью сортировки по колонкам;
- страница просмотра одной ветки;
- редактор:
- все города доступны в виде списка;
- цвет ветки задаётся посредством визуального редактора;
- на всех страницах цвет веток отображается визуально;
- хранят:
- события (аварии):
- хранят:
- ветку, в которой произошли;
- время события;
- заголовок;
- описание;
- флаги:
- принадлежности к метро;
- автоматического создания;
- поддерживают стандартные CRUD-операции;
- страницы:
- список всех событий с пагинацией;
- таблица всех событий:
- с пагинацией;
- с возможностью поиска по колонкам;
- с возможностью сортировки по колонкам;
- страница просмотра одного события;
- редактор:
- все города доступны в виде списка;
- ветки выбранного города доступны в виде списка;
- автоматическая загрузка списка доступных веток при смене города;
- время события задаётся посредством визуального редактора;
- флаг принадлежности к метро:
- автоматическая установка флага при выборе любой известной ветки;
- автоматический выбор неизвестной ветки при снятии флага;
- на всех страницах:
- отображается город, соответствующий выбранной ветке;
- рядом с названием ветки визуально отображается её цвет;
- флаги отображаются в виде текста:
- «No»;
- «Yes»;
- поддерживают пустой заголовок (отображается в виде текста
<empty>);
- хранят:
- пользователи (администраторы):
- хранят:
- имя;
- хешированный пароль;
- поддерживают стандартные CRUD-операции;
- страницы:
- список всех пользователей с пагинацией;
- таблица всех пользователей:
- с пагинацией;
- с возможностью поиска по колонкам;
- с возможностью сортировки по колонкам;
- страница просмотра одного пользователя;
- редактор:
- поддерживает редактирование имени пользователя без сброса пароля;
- хранят:
- настройки:
- токен для доступа посредством API;
- число событий, отображаемое в RSS;
- форма входа:
- возможность запоминания пользователя;
- графически-символьная CAPTCHA;
- API:
- позволяет создавать события;
- автоматически устанавливает:
- текущее время как время события;
- неизвестную ветку, как ветку, в которой произошло событие, если ветка не была задана;
- обмен данными происходит посредством формата JSON;
- front-end:
- адаптивный дизайн;
- RSS-ленты:
- доступны:
- индивидуально для каждого города;
- в двух вариантах:
- все события;
- события, относящиеся только к метро;
- отображение списка доступных RSS-лент на главной странице;
- доступны:
- статистика событий метро:
- параметры:
- город;
- начальная дата;
- конечная дата;
- обновление:
- осуществляется посредством AJAX;
- вызывается:
- при каждом изменении параметров;
- явно посредством кнопки обновления;
- отображение:
- количества событий, произошедших за указанный период, по каждой ветке, относящейся к выбранному городу:
- в числовом виде;
- в графическом виде (bar chart);
- для каждой ветки:
- номера;
- названия;
- цвета;
- количества событий, произошедших за указанный период;
- сортировка веток по числу событий на них от максимального к минимальному;
- количества событий, произошедших за указанный период, по каждой ветке, относящейся к выбранному городу:
- параметры:
- утилиты:
- для удобной отправки запросов к API посредством cURL:
- параметры запроса передаются через аргументы командной строки;
- для генерации тестовых событий:
- список городов и веток загружается из конфига в формате JSON.
- для удобной отправки запросов к API посредством cURL:
Технологии
- back-end:
- серверный язык — PHP;
- фреймворк — Yii;
- БД — MySQL;
- front-end:
- технологии — HTML5, CSS3, JavaScript, AJAX;
- фреймворки — Twitter Bootstrap, jQuery;
- адаптивный дизайн — да.
Скриншоты
Список всех городов:

Таблица всех городов:

Страница просмотра одного города:

Редактор города:

Список всех веток:

Таблица всех веток:

Страница просмотра одной ветки:

Редактор ветки:

Редактор цвета в редакторе ветки:

Таблица всех событий:

Страница просмотра одного события:

Редактор события:

Редактор времени в редакторе события:

Список всех пользователей:

Таблица всех пользователей:

Страница просмотра одного пользователя:

Редактор пользователя:

Настройки:

Форма входа:

Главная страница:

Страница статистики:

Редактор даты на странице статистики:

Загрузка статистики:

Ошибка в форме на странице статистики:

Ошибка на сервере при загрузке статистики:

Мобильный вид страницы статистики:

RSS-лента:

Авторские права
- фото метро — Pixabay License, Copyright © 2014 bryanucla, https://pixabay.com/en/subway-boston-train-track-286873/.