Автоматическое расписание, создаваемое из данных SmartSheets (Google таблицы) на Node.js + PHP + MySQL

image image image image
Клиент - компания, занимающаяся фотографированием детей в детских садиках. Есть фотографы, которые должны выезжать на съёмки, а есть менеджеры, которые распределяют съёмки между фотографами. Так же, фотографы иногда могут быть заняты. Ну и расписание так же должны видеть фотографы только своё, а менеджеры - полную картину. + некоторые мелочи, которые не так важны Клиент уже вёл таблицу со списком съёмок в сервисе SmartSheets, аналог Google Таблиц. Важно было не переучивать менеджеров и создать автоматическое расписание, чтобы не приходилось ничего делать, кроме добавления новых съёмок в список. У SmartSheets есть JavaScript SDK, который и был использован. Приложение на базе Node.js + Express (для создания задачи в cron) каждые 5 минут обходит таблицы списка съёмок, списка фотографов и их занятости и заносит свежие данные в базу данных MySQL. Далее, пользователи могут авторизоваться в специальном веб-приложении на PHP и смотреть расписание, в зависимости от их прав (фотограф/менеджер). По факту, это первый опыт работ, где совмещаются две различные технологии для выполнения своих функций.