Описание: Простое демонстрационное ASP.NET Core Open API, выполняющее CRUD операции с таблицой базы данных, хранящей строки с заметками.
Подробнее о функционале:
- Получение списка заметок: с помощью get-запроса к api, пользователь может запросить вывод всех заметок, имеющихся в базе данных, в ответ пользователь получить список состоящий из уникальных айди заметок и непосредственно самих заметок.
- Добавление новой заметки: с помощью post-запроса на api, пользователь может добавить новую заметку в базу данных, для этого ему нужно будет указать уникальный айди заметки и её содержание, в случае успешного выполнения запроса, новая заметка добавится в базу данных.
- Редактирование заметок: с помощью put-запроса к api, пользователь может изменить содержание имеющейся в базе данных заметки, для этого он должен будет ввести уникальный айди существующей в базе данных заметки и новое содержание для неё, в случае успешного выполнения запроса, содержание заметки с этим айди изменится на новое.
- Удаление заметок: с помощью delete-запроса к api, пользователь может удалить имеющуюся в базе данных заметку, для этого ему нужно будет указать уникальный айди существующей в базе данных заметки, в случае успешного выполнения операции, заметка с этим айди будет удалена из базы данных.
Техническая часть:
- API работает с базой данных MySQL, которую пользователь должен будет развернуть локально.
- Для выполнения манипуляций с базой, в API реализован сервис, содержащий методы для CRUD операций.
- Пользовательские запросы принимаются контроллером, который имеет get, post, put и delete эндпоинты, данные из которых через интерфейс передаются методам сервиса.
- В проекте присутствуют модели базы данных, а так же скрипт для её развёртывания.
- Строка подключения к базе данных и запросы к ней хранятся в файле конфигурации, который считывается файлом-точкой входа, там же выполняется добавление интерфейса и сервиса в контейнер зависимостей.
- Для проверки работоспособности эндпоинтов контроллера и методов сервиса были добавлены юнит-тесты.
UML схема проекта: https://drive.google.com/file/d/1oWGB41h62wCydWJQrHahe7PaVgE8E5ea/view?usp=drive_link
Стек технологий, исользующийся в проекте:
- C# - язык программирования.
- .NET - платформа для разработки проектов на С#.
- ASP.NET Core - фреймворк для создания API/
- ADO.NET - технология для взаимодействия с базами данных(Интегирована в .NET).
- MySQL - поставщик баз данных.
- MySQL.Data - библиотека для работы с MySQL-базами данных на C#.
- xUnit - фреймворк для создания модульных юнит-тестов.
- Moq - библиотека для создания "подставных данных", используется в паре с xUnit при написании юнит-тестов.