Skip to content

Тестовое задание на стажировку в компанию Aton

Notifications You must be signed in to change notification settings

dzrnl/aton-test-task

Repository files navigation

ATON Test Task

Тестовое задание на стажировку в компанию Атон по программе ITTP - Задание

RESTful Web API сервис на .NET 9.0, реализующий API методы CRUD над сущностью Users. Доступ осуществляется через интерфейс Swagger. Сервис использует аутентификацию и авторизацию через JWT и роли. Данные сохраняются в PostgreSQL через Entity Framework Core

Функциональные требования

Метод Эндпоинт Описание Доступ
POST /api/auth/register Создание нового пользователя Admin
POST /api/auth/login Аутентификация пользователя -
PUT /api/users/{login} Обновление данных пользователя SelfOrAdmin
PUT /api/users/{login}/login Изменение логина SelfOrAdmin
PUT /api/auth/{login}/password Изменение пароля SelfOrAdmin
GET /api/users/active Получение списка активных пользователей Admin
GET /api/users/{login} Получение информации о пользователе SelfOrAdmin
GET /api/users?olderThat=Age Получение пользователей старше возраста Admin
DELETE /api/users/{login}?soft=Bool Удаление пользователя (мягкое/жесткое) Admin
POST /api/users/{login}/restore Восстановление удаленного пользователя Admin

Использовалась валидация входных данных (логина, пароля, и т.д.). Дополнительно было добавлено возращение ошибки при невозможности выполнить действие

Используемые технологии

  • .NET 9.0
  • PostgreSQL 16
  • Entity Framework Core
  • JWT аутентификация и авторизация с ролями
  • Swagger
  • Docker
  • Unit тесты с Moq и xUnit

Запуск

docker-compose up --build

После успешного запуска сервиса, будет доступен интерфейс Swagger для тестирования API:

http://localhost:8080/swagger

About

Тестовое задание на стажировку в компанию Aton

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published