API para gerenciamento de propriedades e talhões (fields) criada como parte do curso/pos-graduação sobre Arquitetura de Sistemas .NET da FIAP.
Este repositório contém uma aplicação ASP.NET Core organizada em múltiplos projetos (API, Application, Domain, Infrastructure) e exemplos de testes automatizados.
- Gerenciamento de propriedades (criação, listagem por usuário logado).
- Criação de talhões (fields) vinculados a uma propriedade.
- src/AgroSolutions_Property.API - Projeto ASP.NET Core da API (endpoints, middlewares, configuração).
- src/AgroSolutions_Property.Application - Camada de aplicação (serviços, validadores, conversores).
- src/AgroSolutions_Property.Domain - Modelos de domínio, DTOs, repositórios e interfaces.
- src/AgroSolutions_Property.Infrastructure - Implementações de persistência (EF Core), migrations e repositórios.
- tests/AgroSolutions_Property.Tests - Testes unitários/integrados do projeto.
- .NET SDK 8.0 (ou versão compatível conforme o arquivo .csproj do projeto)
- PostgreSQL Server local ou outro provedor configurado no
appsettings.json - Ferramentas opcionais: Postman, curl, navegador para Swagger
Abra um terminal (PowerShell) na raiz do repositório e execute os comandos abaixo.
- Restaurar dependências e compilar:
dotnet restore
dotnet build- Definir o ambiente de execução (opcional, para usar
appsettings.Development.json):
$env:ASPNETCORE_ENVIRONMENT = "Development"- Executar a API (a partir da raiz do repositório):
dotnet run --project .\src\AgroSolutions_Property.API\AgroSolutions_Property.API.csprojA aplicação iniciará e, por padrão, exibirá a URL de escuta no console (por exemplo, https://localhost:5001). Para ambientes com perfis de lançamento, você também pode usar launchSettings.json via IDE (Visual Studio / Rider).
Com a API em execução, abra o navegador e acesse:
https://localhost:{porta}/swagger
(Substitua {porta} pela porta informada no console ao iniciar a aplicação.)
Se o projeto usa Entity Framework Core e existe a pasta Migrations na camada Infrastructure, aplique as migrations antes de executar em um ambiente com banco de dados:
# Ajuste o caminho do projeto caso necessário
dotnet ef database update --project .\src\AgroSolutions_Property.Infrastructure\AgroSolutions_Property.Infrastructure.csproj --startup-project .\src\AgroSolutions_Property.API\AgroSolutions_Property.API.csprojObservação: o comando acima exige a ferramenta dotnet-ef. Instale-a globalmente se necessário:
dotnet tool install --global dotnet-efPara rodar a suíte de testes do projeto:
dotnet test .\tests\AgroSolutions_Property.Tests\AgroSolutions_Property.Tests.csproj- POST /api/properties - Criar uma propriedade (validações aplicadas; retorna o Id criado)
- GET /api/properties - Listar propriedades do usuário autenticado
- POST /api/properties/{propertyId}/fields - Criar talhões para uma propriedade
Observação: consulte a documentação Swagger para a lista completa de endpoints, modelos de request/response e exemplos.
Sinta-se à vontade para abrir issues e pull requests. Para contribuições:
- Faça um fork do repositório.
- Crie uma branch descritiva (ex.:
feature/novo-endpoint). - Adicione testes para novas funcionalidades.
- Abra um Pull Request descrevendo as alterações.
Distribuído sem licença explícita. Adicione uma seção de licença conforme necessário para o seu projeto.