Skip to content

dagrigorev/LifeOS

Repository files navigation

LifeOS Backend

Краткое описание backend-части проекта LifeOS.

Что внутри

Решение разделено на слои:

  • LifeOS.Domain — доменная модель, агрегаты, value objects, domain events
  • LifeOS.Application — application services, orchestration, DI-регистрация, resilience
  • LifeOS.Infrastructure — EF Core, PostgreSQL, репозитории, outbox, logging
  • LifeOS.Api — REST API, Swagger, health checks, ProblemDetails

Требования

  • .NET SDK
  • PostgreSQL
  • dotnet-ef

Установка EF CLI:

dotnet tool install --global dotnet-ef

Восстановление и сборка

dotnet restore
dotnet build

Строка подключения

Пример appsettings.Development.json для API:

{
  "ConnectionStrings": {
    "LifeOS": "Host=localhost;Port=5432;Database=lifeos;Username=postgres;Password=postgres"
  }
}

Создание стартовой миграции

dotnet ef migrations add InitialCreate \
  --project src/LifeOS.Infrastructure \
  --startup-project src/LifeOS.Api \
  --output-dir Persistence/Migrations

Применение миграций

dotnet ef database update \
  --project src/LifeOS.Infrastructure \
  --startup-project src/LifeOS.Api

Запуск API

dotnet run --project src/LifeOS.Api

Swagger

После запуска открой Swagger UI по адресу приложения, например:

https://localhost:5001/swagger
http://localhost:5000/swagger

Точный адрес зависит от launchSettings.json и конфигурации проекта.

Тесты

Запуск всех тестов:

dotnet test

Отдельно по слоям:

dotnet test tests/LifeOS.Domain.Tests
dotnet test tests/LifeOS.Application.Tests
dotnet test tests/LifeOS.Infrastructure.Tests
dotnet test tests/LifeOS.Api.Tests

Полезные команды

Очистка артефактов сборки:

dotnet clean

Список миграций:

dotnet ef migrations list \
  --project src/LifeOS.Infrastructure \
  --startup-project src/LifeOS.Api

Удаление последней миграции, если она еще не применена:

dotnet ef migrations remove \
  --project src/LifeOS.Infrastructure \
  --startup-project src/LifeOS.Api

DI-регистрация

В Program.cs API:

builder.Services.AddApplication(builder.Configuration);
builder.Services.AddInfrastructure(builder.Configuration);

Быстрый сценарий запуска

dotnet restore
dotnet build

dotnet ef migrations add InitialCreate \
  --project src/LifeOS.Infrastructure \
  --startup-project src/LifeOS.Api \
  --output-dir Persistence/Migrations

dotnet ef database update \
  --project src/LifeOS.Infrastructure \
  --startup-project src/LifeOS.Api

dotnet run --project src/LifeOS.Api

About

life operating system

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages