You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Task Manager API — это RESTful сервис для управления задачами. Он позволяет пользователям создавать, редактировать,
удалять задачи и управлять их статусами. API поддерживает регистрацию и авторизацию пользователей через JWT,
обеспечивает безопасность данных и предоставляет удобные возможности фильтрации.
Функциональность
Основные возможности:
Регистрация пользователей.
Авторизация с использованием JWT.
CRUD-операции с задачами:
Создание задачи.
Просмотр задач.
Обновление задач.
Удаление задач.
Фильтрация задач:
По статусу (выполненные/невыполненные).
По дедлайну.
Валидация данных.
Технологии
Backend: ASP.NET Core (8.0)
База данных: PostgreSQL
Авторизация: JWT (JSON Web Token)
Контейнеризация: Docker (опционально)
Документация API: Swagger/OpenAPI
API Эндпоинты
Пользователи (авторизация и регистрация)
Метод
Endpoint
Описание
Авторизация
POST
/api/v1/auth/register
Регистрация нового пользователя
Нет
POST
/api/v1/auth/login
Авторизация пользователя (JWT)
Нет
Задачи
Метод
Endpoint
Описание
Авторизация
GET
/api/tasks
Получить список задач
Да
POST
/api/tasks
Создать новую задачу
Да
GET
/api/tasks/{id}
Получить задачу по ID
Да
PUT
/api/tasks/{id}
Обновить задачу
Да
DELETE
/api/tasks/{id}
Удалить задачу
Да
GET
/api/tasks/filter
Фильтровать задачи
Да
Структура базы данных
Таблица Client
Поле
Тип
Описание
Id
string
Уникальный идентификатор
Username
string
Логин пользователя
Email
string
Email пользователя
PasswordHash
string
Хэш пароля
Таблица Tasks
Поле
Тип
Описание
Id
GUID
Уникальный идентификатор
Title
string
Название задачи
Description
string
Описание задачи
Status
string
Статус задачи (например, "done")
ExpiredAt
DateTime?
Дата выполнения задачи
CreatedAt
DateTime?
Дата выполнения задачи
Priority
int
Приоритет задачи
ClientId
string
Внешний ключ на пользователя
Comments
ICollection
Комментарии к задаче
Label
string
Тип задачи (bug, feature, hotfix)
Таблица HistoryTask
Поле
Тип
Описание
Id
GUID
Уникальный идентификатор
Title
string
Название задачи
WhatHasBeenUpdated
string
Что было сделано
CreatedAt
DateTime?
Дата выполнения задачи
TaskId
GUID
Идентификатор задачи
Таблица CommentTask
Поле
Тип
Описание
Id
GUID
Уникальный идентификатор
Comment
string
Комментарий
CreatedAt
DateTime?
Дата создание комментария
ClientId
string
Идентификатор клиента
Tasks
ICollection
Список задач
Таблица Company
Поле
Тип
Описание
Id
GUID
Уникальный идентификатор
NameCompany
string
Название компании
DescriptionCompany
string
Описание компании (необязательное поле)
CompanyIndustry
string
Чем занимается компания
QuantityEmployees
int
Количество сотрудников
Tasks
ICollection
Задачи
Clients
ICollection
Сотрудники
Как развернуть проект
1. Установить зависимости
Установите .NET SDK версии 8.0 или выше.
Docker
Скачайте WSL образы (если вы запускаете на Windows).
2. Запуск в Docker можно произвести с помощью команды
Для Windows: перейдите в корень проекта и выполните скрипт ./run-containers.ps1
Для Linux: Перейдите в корень проекта и выполните скрипт ./run-containers.sh
3. Настроить подключение к базе данных
В файлах appsettings.json - appsettings.Development.json укажите строку подключения: