https://github.com/minoddein/sporthubnotifiactionservice
notification sending service developed as part of the hackathon at the regional stage
https://github.com/minoddein/sporthubnotifiactionservice
asp-net-core docker hangfire mailkit minimal-api vertical-slice-architecture
Last synced: 4 months ago
JSON representation
notification sending service developed as part of the hackathon at the regional stage
- Host: GitHub
- URL: https://github.com/minoddein/sporthubnotifiactionservice
- Owner: Minoddein
- Created: 2024-11-24T22:02:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-25T19:27:07.000Z (about 1 year ago)
- Last Synced: 2025-03-27T14:52:14.334Z (8 months ago)
- Topics: asp-net-core, docker, hangfire, mailkit, minimal-api, vertical-slice-architecture
- Language: C#
- Homepage:
- Size: 42 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SportHub Notification Service
[](https://opensource.org/licenses/MIT)
[](https://dotnet.microsoft.com/)
Сервис уведомлений для проекта SportHub
## Возможности:
- [x] Позволяет пользователям подписываться на уведомления о предстоящих событиях
- [x] Автоматически отправляет уведомления за 2 месяца, 1 неделю и 2 дня до события
- [x] Поддерживает кастомизированные уведомления по запросам пользователей
## Стек:
- C# — язык программирования
- ASP.NET Core — веб-фреймворк для разработки REST API
- Entity Framework Core 8 — ORM для работы с базой данных
- Seq — сервер для централизованного сбора, хранения и визуализации журнальных данных.
- [Hangfire](https://github.com/HangfireIO/Hangfire/) ^1.18.5 — библиотека для планирования и выполнения фоновых задач
- [Serilog](https://github.com/Serilog/serilog) ^4.11.0 — библиотека для логгирования
- [MailKit](https://github.com/jstedfast/MailKit) ^4.0.0 — библиотека для отправки электронной почты
- [Npgsql](https://github.com/npgsql/npgsql) ^8.0.0 — провайдер для подключения к PostgreSQL
## Установка и запуск
### Посредством Docker
1. Установите и настройте [Docker](https://www.docker.com/), как указано в документации.
2. Из папки проекта выполните команду:
```shell
docker build -t sporthub-notification-service .
```
3. Теперь запускать сервис можно командой:
```shell
docker run -it -d sporthub-notification-service
```
### Без использования Docker
1. Убедитесь, что у вас установлен [.NET 8 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/8.0).
2. Создайте файл `appsettings.json` на основе `appsettings.template.json` и присвойте переменным соответствующие значения.
3. Выполните миграции базы данных:
```shell
dotnet ef database update
```
4. Теперь запускать сервис можно командой:
```shell
dotnet run --project src/SportHubNotificationService
```
## Конфигурация
Основные настраиваемые параметры:
- Подключение к базе данных (PostgreSQL)
- Настройки SMTP для отправки email-уведомлений
- Интервалы напоминаний (2 месяца, 1 неделя, 2 дня)
Все параметры конфигурации находятся в файле `appsettings.json`.