Последняя версия api разработанного в качестве тестового задания на позицию Trainee .Net developer При реализации сервиса использовались следующие технологии:
- asp.net web api
- asp.net dependency injection framework
- Entity Framework
- postgresql и npgsql
- swagger
- automapper
- Добавление, редактирование, удаление и просмотр товаров
- Добавление, редактирование, удаление и просмотр заказов
- Автоматическое создание документа swagger (Доступен по ссылке "../swagger/index.html")
- Облегчено добавление нового функционала благодаря использованию подхода "Clean architecture"
- При наличии установленного довера возможно протестировать api вписав всего одну команду
Состоит из 3 таблиц
- Заказы
- Продукты
Схема описанна в файлах миграции на слое "infrastructure"
- New
- AwaitingPayment
- Paid
- SubmittedForDelivery
- Delivered
- Completed
Если при редактировании заказа вписать невалидное значение, то статус установится на дефолтное значение(New)
Прежде чем приступить нужно клонировать репозитрий в локальную папку командой:
git clone https://github.com/klawiat/Orders.git
- Мезменить название файла .envtemplate на .env
- Из папки проекта выполнить команду:
docker compose up
-
Открыть файл решения в Visual Studio (.\backend\Orders\Orders.sln)
-
В файле programm.cs следует исправить поля: host, port, database, username, password на те, что применены к вашему серверу с бд.
-
Или убрать комментарии в файле appsettings.json и заменить значения в фигурных скобках на ваши
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
//"DefaultConnection": "Host={host};Port={port};Database={database};Username={username};Password={password};"
}
}
Запустить проект Orders.WebApi на своем пк кнопкой run
Повторить шаг 2 или 3 из второго способа Выполнить команду
dotnet restore "backend/Orders.WebApi/Orders.WebApi.csproj"
Далее следует команда
dotnet run --project ".\Orders\Orders.WebApi\Orders.WebApi.csproj" --launch-profile "Orders.WebApi"