BlogAPI - это платформа для блогов, реализованная с использованием современных технологий и архитектурных паттернов. Проект представляет собой RESTful API и следует принципам Clean Architecture.
- .NET 8 - Основной фреймворк
- ASP.NET Core - Веб-фреймворк
- Entity Framework Core - ORM для работы с базой данных
- PostgreSQL - Основная база данных
- Clean Architecture - Разделение на слои:
- Domain Layer
- Application Layer
- Infrastructure Layer
- API Layer
- CQRS - Паттерн для разделения операций чтения и записи
- Repository Pattern - Паттерн для работы с данными
- Unit of Work - Паттерн для управления транзакциями
- JWT Authentication - Аутентификация на основе токенов
- Bearer Token - Механизм авторизации
- Token Validation Middleware - Промежуточное ПО для валидации токенов
- Banned Tokens System - Система управления заблокированными токенами
- Swagger/OpenAPI - Документация API
- FluentValidation - Валидация данных
- Quartz.NET - Планировщик задач
- AutoMapper - Маппинг объектов
- Serilog - Логирование
- Email Service - Сервис для отправки email
- Управление пользователями и авторами
- Создание и управление постами
- Система комментариев
- Управление сообществами
- Система тегов
- Геолокация (работа с адресами)
/api/users- Управление пользователями/api/authors- Управление авторами/api/posts- Управление постами/api/comments- Управление комментариями/api/communities- Управление сообществами/api/tags- Управление тегами/api/addresses- Управление адресами
- Асинхронное программирование
- Валидация входных данных
- Обработка исключений
- Логирование
- Планировщик задач для очистки токенов
- Middleware для обработки ошибок
- Документированный API через Swagger
- .NET 8 SDK
- PostgreSQL
- Клонировать репозиторий
- Настроить строку подключения к базе данных в
appsettings.json - Выполнить миграции базы данных
- Запустить проект через
dotnet run