https://mrnikitus.ru/nkschedule – Браузер CuteChrome 
Расписание занятий NKSchedule
В 2020 году я начинал изучать Python и в качестве эксперимента написал бота для расписания занятий. Поначалу я думал, что он будет небольшой, не умел нормально организовывать код, и всё пришло к тому, что внедрение нового функционала было очень сложным действием.
Спустя 2 года я вновь вернулся к этой идее, но проработал всё гораздо тщательнее и использовал весь свой накопленный опыт.
NKSchedule – сервис расписания занятий, состоящий из веб-сайта и Telegram-бота. Он позволяет составлять расписания или автоматически обновлять их, а также получать уведомления.
Сервис доступен по адресу schedule.mrnikitus.ru. Все функции полностью работают.
Используемые технологии
- Контейнеризация: Docker
- Веб-сервер: nginx 1.22.0
- Backend (серверная часть):
- Сервис расписания, обработка команд бота и API: Django 4.0.7
- Статические файлы Django: WhiteNoise 6.2.0
- Telegram-бот: python-telegram-bot 13.11
- Асинхронная обработка запросов: Celery 5.2.7
- Рассылка уведомлений и планировщик: django-celery-beat 2.3.0
- Автоматическое обновление расписания: Puppeteer 18.2.1 и ws 8.9.0 (Node.js 16.17)
- Базы данных: PostgreSQL 14.5 и Redis
- Frontend (клиентская часть):
- Фреймворк: React 18.2.0 (Vite 3.1.0)
- Сжатие HTML-страниц: vite-plugin-html 3.2.0
- Интерфейс: Ant Design 4.23.3
- Календарь: FullCalendar 5.11.3
- Управление состоянием приложения: MobX 6.6.2
Содержание |
Бот
Функционал бота примерно идентичен первой версии, но внешний вид и взаимодействие с некоторыми функциями сделан немного по-другому.
Веб-сайт
Веб-сайт предлагает небольшой функционал, просто показывает расписание занятий.
Главная страница
Страница просмотра расписания
Окно с информацией о выбранном занятии
Функционал администратора
Администратор может менять расписание в окне, которое открывается при нажатии кнопки "Редактировать занятие" в окне информации о занятии. Это стандартный раздел админ-панели Django, открывающийся внутри окна с помощью некоторых костылей...
Изменение занятия





