Этот pet-проект — учебная система обработки финансовых транзакций с приёмом данных через API, очередями, логированием, уведомлениями и микросервисной архитектурой. Проект создан для прокачки навыков backend-разработки на C# и .NET Core до уровня Senior.
Проект имитирует реальную финансовую платформу, где пользовательские транзакции:
- Принимаются через защищённый Web API
- Помещаются в очередь на обработку
- Обрабатываются фоновыми сервисами
- Сохраняются в базу данных
- Сопровождаются логами и уведомлениями
- ASP.NET Core Web API (REST + JWT)
- BackgroundService + Channel (Producer/Consumer)
- Dapper или EF Core (на выбор)
- Serilog + Seq для логирования
- Telegram и Email уведомления
- Docker + Docker Compose
- Unit + Integration тесты
- GitHub Actions (CI/CD)
| Модуль | Описание |
|---|---|
| API | Приём транзакций, Swagger, авторизация |
| Очередь | Асинхронная обработка транзакций |
| Хранилище | Работа с БД через Dapper/EF |
| Уведомления | Отправка Email и Telegram |
| Логирование | Serilog + Middleware для ошибок |
| Тесты | Unit и Integration |
| DevOps | Docker + CI/CD pipeline |
- Применить .NET Core в архитектуре реального уровня
- Освоить микросервисные паттерны, очереди и контейнеризацию
- Прокачать тестирование, DevOps, логирование и безопасность
- Клонируй репозиторий:
git clone https://github.com/rayden33/FinSystem.git- Построй контейнеры:
docker-compose up --build- Открой Swagger:
http://localhost:5000/swagger
- C# 12, .NET 8
- ASP.NET Core Web API
- Dapper / EF Core
- Serilog, Seq
- Docker, GitHub Actions
- xUnit, Moq
🔧 В активной разработке — задачи ведутся через GitHub Projects
Doniyor Botirov — .NET разработчик и инженер по архитектуре