Skip to content

financial-university/calendar-service

Repository files navigation

Сервис интернет календарей для расписания университетских занятий

Владимир Кирилкин ПИ18-2 2020 год

Описание

Сервис интернет календарей представляет из себя веб сервер, работающий по протоколам HTTP/HTTPS или WebDAV. Формат ответа сервера – файлы расширения ".ical", соответствующие спецификации iCalendar (RFC 5545). За информацией о расписании сервис использует публичное REST API «Галактика: Расписание учебных занятий», который используется в Финансовом Университете как единственный источник расписания.

Используемые технологии

python 3.8

  • asyncio – библиотека для написания асинхронного (конкурентного) кода
  • aiohttp – библиотека для асинхронного http сервера/клиента
  • aiomisc – библиотека для удобного управления асинхронными сервисами
  • aioredis – библиотека для асинхронного подключения к NoSQL базе данных Redis
  • icalendar – библиотека для формирования файла календаря, придерживающегося спецификации iCalendar
  • marshmallow – библиотека для сериализации/десериализации данных
  • ujson – библиотека для работы с json форматом

Redis – NoSQL база данных

Docker – система контейнеризации

  • docker-compose – инструмент для оркестрации Docker контейнеров

GitHub Actions – система автоматизации рабочих процессов

Локальный запуск

  1. Установить зависимости pip install -r requirements.txt
  2. Запустить python -m calendar_fu -D --file

Развертывание на удаленном сервере

Пример в файле docker-compose.yml