Запущен lehre.lu

Новый проект в моём портфолио - сервис для поиска работы в государственных учреждениях кантона Люцерн, Швейцария - https://lehre.lu
Есть у них такая программа, вроде интернатуры, когда за фиксированную зарплату ты можешь отработать, например, уборщиком в полиции или секретарём в мэрии от 1 до 3х лет. Наверное есть и какие-то связанные с государством плюшки.
Ну и вот, заказали они у Pixmill себе красивый сайт, чтобы отбивать будущих сотрудников у коммерческого сектора - а мы уж расстарались.
Выглядит всё просто, но внутри как обычно много работы, в основном с картой. Тут вам и группировка по кластерам, и отметка о том, что в кластере есть свободные места, и фильтрация по параметрам. Всё это, понятно, работает на Vesp.
Осторожно, по клику GIFка на 4 Мб.
В админке всё стандартно: разработанные конкретно для этого проекта модели, контроллеры, таблицы и формы.
Интересной задачей оказалась возможность загружать видео размером в несколько гигабайт, а потом проигрывать их на сайте. Готовые загрузчики мне использовать надоело - так что освоил загрузку больших файлов самостоятельно.
Видео может быть только 1 и к нему может быть еще загружен постер, которые будет показываться до запуска видео вручную.
Тут еще одна GIFка на 2 Мб.
А для запуска пришлось освоить и стриминг MP4 в браузере, чтобы видео можно было смотреть до того, как оно полностью загрузится. Не YouTube, конечно, но тоже неплохо.
Забавно, что у меня в каждом проекте есть какая-то галерея для работы с файлами, и почти все они разные по логике и функциям.
Еще есть подписка на рассылку и управление новостями. Подписывшиеся выгружаются в CSV файл для импорта в рассылочные сервисы. А к новостям можно прикрутить ссылку на какую-то работу, для раскрутки её прямо на главной странице.
Сервис мы должны были сделать за 3 месяца, а сделали за 2, учитывая массу правок по дизайну, который был еще сыроват. Каждый новый проект на Vesp у меня получается быстрее предыдущего.
Также это был первый проект, над которым мы полностью работали в Docker - полёт нормальный.