Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageVersion>
<PackageVersion Include="Microsoft.SemanticKernel.Abstractions" Version="1.64.0" />
<PackageVersion Include="Microsoft.Extensions.AI.Abstractions" Version="9.8.0" />
</ItemGroup>
<!-- Pacotes específicos da camada Infrastructure -->
<ItemGroup>
Expand All @@ -33,7 +35,11 @@
<PackageVersion Include="Quartz.Extensions.Hosting" Version="3.14.0" />
<PackageVersion Include="Quartz.Serialization.Json" Version="3.14.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.6" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.8" />
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Ollama" Version="1.64.0-alpha" />
<PackageVersion Include="Microsoft.SemanticKernel.Core" Version="1.64.0" />
<PackageVersion Include="Pgvector.EntityFrameworkCore" Version="0.2.2" />
<PackageVersion Include="Microsoft.Extensions.AI" Version="9.8.0" />
</ItemGroup>
<!-- Pacotes Pacotes específicos da camada Api -->
<ItemGroup>
Expand All @@ -60,5 +66,6 @@
<ItemGroup>
<PackageVersion Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.2" />
<PackageVersion Include="AWSSDK.SimpleEmail" Version="4.0.0.14" />
<PackageVersion Include="AWSSDK.S3" Version="4.0.6.13" />
</ItemGroup>
</Project>
2 changes: 1 addition & 1 deletion docker-compose-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: snackflow

services:
postgres:
image: postgres:15
image: pgvector/pgvector:pg17
container_name: postgres-dev
env_file:
- .env.dev
Expand Down
57 changes: 32 additions & 25 deletions docs/packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,46 @@

Pacotes que contém apenas contratos e interfaces, sem implementações concretas.

| Pacote | Versão | Descrição |
|---------------------------------------------|------------------|-----------------------------------------------------------|
| `Microsoft.Extensions.Logging.Abstractions` | 9.0.6 | Abstrações para sistema de logging |
| `Mediator.Abstractions` | 3.0.0-preview.65 | Contratos do padrão Mediator com suporte a CQRS semântico |
| Pacote | Versão | Descrição |
|---------------------------------------------|--------|-----------------------------------------------------------|
| `Microsoft.Extensions.Logging.Abstractions` | 9.0.8 | Abstrações para sistema de logging |
| `Mediator.Abstractions` | 3.0.1 | Contratos do padrão Mediator com suporte a CQRS semântico |
| `Microsoft.SemanticKernel.Abstractions` | 1.64.0 | Interfaces e contratos base do Semantic Kernel para IA |
| `Microsoft.Extensions.AI.Abstractions` | 9.8.0 | Contratos e interfaces centrais para clientes de IA |

## 🎯 Application Layer

Pacotes específicos da camada de aplicação, responsável por orquestrar as regras de negócio.

| Pacote | Versão | Descrição |
|--------------------------------------------------|------------------|----------------------------------------------------------------------------|
| `FluentValidation` | 12.0.0 | Biblioteca para validação fluente de objetos |
| `FluentValidation.DependencyInjectionExtensions` | 12.0.0 | Extensões para injeção de dependência do FluentValidation |
| `Mediator.SourceGenerator` | 3.0.0-preview.65 | Implementação high-performance do padrão Mediator usando Source Generators |
| Pacote | Versão | Descrição |
|--------------------------------------------------|--------|----------------------------------------------------------------------------|
| `FluentValidation` | 12.0.0 | Biblioteca para validação fluente de objetos |
| `FluentValidation.DependencyInjectionExtensions` | 12.0.0 | Extensões para injeção de dependência do FluentValidation |
| `Mediator.SourceGenerator` | 3.0.1 | Implementação high-performance do padrão Mediator usando Source Generators |

## 🏗️ Infrastructure Layer

Pacotes da camada de infraestrutura, responsável por persistência, logging, agendamento e segurança.

| Pacote | Versão | Descrição |
|-----------------------------------------------------|--------|---------------------------------------------------------|
| `Serilog.AspNetCore` | 9.0.0 | Framework de logging estruturado |
| `Microsoft.AspNetCore.Identity.EntityFrameworkCore` | 9.0.6 | ASP.NET Core Identity com Entity Framework |
| `Microsoft.EntityFrameworkCore` | 9.0.6 | ORM para acesso a dados |
| `Microsoft.EntityFrameworkCore.Relational` | 9.0.6 | Funcionalidades relacionais do EF Core |
| `Microsoft.EntityFrameworkCore.Design` | 9.0.6 | Ferramentas de design-time do EF Core |
| `Microsoft.EntityFrameworkCore.InMemory` | 9.0.6 | Provider in-memory do EF Core para testes |
| `Npgsql.EntityFrameworkCore.PostgreSQL` | 9.0.4 | Provider PostgreSQL para Entity Framework |
| `AspNetCore.HealthChecks.NpgSql` | 9.0.0 | Health check específico para PostgreSQL |
| `AspNetCore.HealthChecks.UI.Client` | 9.0.0 | Formatação rica de JSON para endpoints de health checks |
| `Quartz.Extensions.DependencyInjection` | 3.14.0 | Extensões para injeção de dependência do Quartz.NET |
| `Quartz.Extensions.Hosting` | 3.14.0 | Integração do Quartz.NET com Hosting do .NET |
| `Quartz.Serialization.Json` | 3.14.0 | Serialização JSON para jobs do Quartz.NET |
| `Newtonsoft.Json` | 13.0.3 | Framework JSON.NET para serialização e deserialização |
| Pacote | Versão | Descrição |
|-----------------------------------------------------|--------------|---------------------------------------------------------|
| `Serilog.AspNetCore` | 9.0.0 | Framework de logging estruturado |
| `Microsoft.AspNetCore.Identity.EntityFrameworkCore` | 9.0.6 | ASP.NET Core Identity com Entity Framework |
| `Microsoft.EntityFrameworkCore` | 9.0.6 | ORM para acesso a dados |
| `Microsoft.EntityFrameworkCore.Relational` | 9.0.6 | Funcionalidades relacionais do EF Core |
| `Microsoft.EntityFrameworkCore.Design` | 9.0.6 | Ferramentas de design-time do EF Core |
| `Microsoft.EntityFrameworkCore.InMemory` | 9.0.6 | Provider in-memory do EF Core para testes |
| `Npgsql.EntityFrameworkCore.PostgreSQL` | 9.0.4 | Provider PostgreSQL para Entity Framework |
| `AspNetCore.HealthChecks.NpgSql` | 9.0.0 | Health check específico para PostgreSQL |
| `AspNetCore.HealthChecks.UI.Client` | 9.0.0 | Formatação rica de JSON para endpoints de health checks |
| `Quartz.Extensions.DependencyInjection` | 3.14.0 | Extensões para injeção de dependência do Quartz.NET |
| `Quartz.Extensions.Hosting` | 3.14.0 | Integração do Quartz.NET com Hosting do .NET |
| `Quartz.Serialization.Json` | 3.14.0 | Serialização JSON para jobs do Quartz.NET |
| `Newtonsoft.Json` | 13.0.3 | Framework JSON.NET para serialização e deserialização |
| `Microsoft.SemanticKernel.Core` | 1.64.0 | Núcleo do Semantic Kernel com runtime e funções |
| `Microsoft.SemanticKernel.Connectors.Ollama` | 1.64.0-alpha | Conector para modelos Ollama/Docker AI |
| `Pgvector.EntityFrameworkCore` | 0.2.2 | Suporte a vetores PostgreSQL para busca semântica |
| `Microsoft.Extensions.AI` | 9.8.0 | Integração e utilitários para clientes de IA generativa |

## 🌐 API Layer

Expand Down Expand Up @@ -74,4 +80,5 @@ Pacotes para integração com serviços da Amazon Web Services.
| Pacote | Versão | Descrição |
|-----------------------------------|----------|----------------------------------------------------|
| `AWSSDK.Extensions.NETCore.Setup` | 4.0.2 | Configuração e integração do AWS SDK com .NET Core |
| `AWSSDK.SimpleEmail` | 4.0.0.14 | Cliente para Amazon Simple Email Service (SES) |
| `AWSSDK.SimpleEmail` | 4.0.0.14 | Cliente para Amazon Simple Email Service (SES) |
| `AWSSDK.S3` | 4.0.6.13 | Cliente para Amazon Simple Storage Service (S3) |
2 changes: 2 additions & 0 deletions src/SnackFlow.Application/SnackFlow.Application.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
<ItemGroup>
<PackageReference Include="FluentValidation" />
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" />
<PackageReference Include="Microsoft.Extensions.AI.Abstractions" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
<PackageReference Include="Mediator.SourceGenerator">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.SemanticKernel.Abstractions" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>
<ItemGroup>
Expand Down
1 change: 1 addition & 0 deletions src/SnackFlow.Infrastructure/Persistence/AppDbContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class AppDbContext(DbContextOptions<AppDbContext> options)
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly);
modelBuilder.HasPostgresExtension("vector");
modelBuilder.ApplyPermissionsSeed();
modelBuilder.ApplyRoleSeeder();
modelBuilder.ApplyRoleClaimSeeder();
Expand Down
5 changes: 5 additions & 0 deletions src/SnackFlow.Infrastructure/SnackFlow.Infrastructure.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,21 @@
<PackageReference Include="AspNetCore.HealthChecks.NpgSql" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" />
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" />
<PackageReference Include="AWSSDK.S3" />
<PackageReference Include="AWSSDK.SimpleEmail" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
<PackageReference Include="Microsoft.Extensions.AI" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Ollama" />
<PackageReference Include="Microsoft.SemanticKernel.Core" />
<PackageReference Include="Newtonsoft.Json" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />
<PackageReference Include="Pgvector.EntityFrameworkCore" />
<PackageReference Include="Quartz.Extensions.DependencyInjection" />
<PackageReference Include="Quartz.Extensions.Hosting" />
<PackageReference Include="Quartz.Serialization.Json" />
Expand Down