При поддержке
Система нотификации
Отправка сообщений по различным каналам связи о событиях, происходящих в информационной системе
О проекте
Трудно представить сколь-нибудь серьёзный продукт, не использующий нотификации. Нотификации привлекают внимание пользователя и возвращают его в продукт (instagram, google photos и др.), сигнализируют о важных изменениях (любой мессенджер или новостной портал), упрощают работу, предоставляя новую информацию без необходимости обновления страницы (miro, asana и др.).

Сразу несколько наших новых продуктов дошли до стадии, когда дальше без нотификаций развиваться очень сложно, поэтому им срочно требуется универсальный модуль нотификаций.
сентябрь-декабрь 2022
Задачи проекта:
1. Реализовать сервис Нотификаций, включающий в себя:
– Унифицированный модуль приёма входящих событий — по REST API и из брокеров сообщений (Kafka, RabbitMQ)
– Унифицированный модуль отправки сообщений через различные каналы: e-mail, телеграм-канал.
– Покрыть модули тестами
2. Покрыть основной функционал юнит- и интеграционными тестами
3. Подготовить приложение к развёртыванию в контейнере (Docker).
старт отбора: 16 сентября
заявки принимаются до 22 сентября
тестовое задание: 23–26 сентября
Технологии и инструменты, с которыми предстоит работать:
Python (Fastapi, pytest, pydantic), Docker, Kafka, Rabbitmq, docker.
Код будет храниться в gitlab. Задачи будем ставить во внутреннем таск-трекере.
Как будет выглядеть работа в проекте?
По результатам отбора мы сформируем команду, которая будет заниматься решением поставленных задач. С решением будут помогать наставники — эксперты в разработке и тестировании.

Участвуя в проекте, вы на практике:
- спроектируете и реализуете методы REST API для приёма входящих событий, вызывающих нотификации;
- поработаете с брокерами kafka и rabbitmq;
- разберётесь с SOLID-принципами и научитесь писать качественный код, который легко расширять, поддерживать и тестировать;
- научитесь покрывать код тестами;
- поработаете в команде по принципам гибких методологий.
- разберетесь, как декомпозировать сложные сценарии на простые задачи.

Работа организуется двухнедельными спринтами, с планнингом в начале и ретро и обязательным демо в конце.
Занятость: 10-15 часов в неделю.
Еще больше ответов об участии в открытых проектах
Какие требования, как устроен отбор, сколько свободного времени нужно и другие вопросы, которые стоит задать перед участием в проекте
Прием заявок завершен