Этот проект представляет собой пример реализации системы уведомлений, описанной в книге "System Design" авторства Алекса Сюй. Система уведомлений предназначена для отправки различных типов уведомлений (SMS, Push-уведомления) пользователям. Проект состоит из нескольких компонентов, включая API для отправки уведомлений, базу данных для хранения информации и модуль для обработки уведомлений.
- Go 1.21 или новее
- Docker
- Docker Compose
- Клонируйте репозиторий:
git clone https://github.com/funcid/at-least-once-notifier.git
- Перейдите в директорию проекта:
cd at-least-once-notifier - Создайте файл
.envна основе примера.env.exampleи заполните необходимые параметры:cp .env.example .env
-
Запустите контейнеры Docker:
docker-compose up --build
-
Система будет доступна по адресу
http://localhost:8080.
Пример использования API для отправки уведомлений:
curl -X POST http://localhost:8080/api/v1/notify -d '{
"type": "SMS",
"recipient": "+1234567890",
"message": "Привет, это тестовое уведомление!"
}'