Skip to content

Repository files navigation

BlogAPI - Современная платформа для блогов

Описание проекта

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 Endpoints

  • /api/users - Управление пользователями
  • /api/authors - Управление авторами
  • /api/posts - Управление постами
  • /api/comments - Управление комментариями
  • /api/communities - Управление сообществами
  • /api/tags - Управление тегами
  • /api/addresses - Управление адресами

Особенности реализации

  • Асинхронное программирование
  • Валидация входных данных
  • Обработка исключений
  • Логирование
  • Планировщик задач для очистки токенов
  • Middleware для обработки ошибок
  • Документированный API через Swagger

Требования к окружению

  • .NET 8 SDK
  • PostgreSQL

Установка и запуск

  1. Клонировать репозиторий
  2. Настроить строку подключения к базе данных в appsettings.json
  3. Выполнить миграции базы данных
  4. Запустить проект через dotnet run

About

RESTful API платформа для блогов на ASP.NET Core.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages