- Versão .NET: 6.0
- Banco de dados: PostgreSQL.
- Framework de manipulação de dados: Entity Framework.
- Framework de testes: NUnit.
- Framework de Mock: Moq.
- Framework de Assert: FluentAssertions.
- Framework de Data Generator: Bogus.
- Framework de Mapeamento: AutoMapper
docker build -t me-agenda-ai:latest .
Argumento -t especifica o nome e a tag da imagem que será criada. Nesse caso, a imagem será chamada com uma tag atribuida.
- Ex. meagendaai:dev
O Projeto dispõe de uma estrutura de docker-compose para execucação da aplicação, uma instacia de container com um banco de dados em PostgreSQL e uma ferramenta web chamada PgAdmin para manipulação do banco de dados.
docker-compose up -d
Obs.: O -d indica que a execução do container será em background (em segundo plano).
Para conectar na instância local do banco de dados, o PgAdmin deve ser configurado para acesso remoto. Você deve acessar a URL localhost:8081 e digitar o usuário e senha para acesso ao banco de dados. Caso não seja possível acessar o PgAdmin, verifique se o mesmo está rodando.
O email padrão é admin@admin.com e a senha 123 (configuração definida no docker-compose.yml).
Ao acessar o PgAdmin pela primeira vez o item Servers estará vazio, pois ainda não terá a configuração para se conectar-se ao banco de dados. Para configurar a conexão, siga as instruções abaixo:
- Click com o botão direito do mouse em Servers e acesse o menu Create => Server.
- Na guia General dê um nome para o servidor (Recomençado: MeAgendaAi).
- Na guia Connection, no campo Host/address, digite postgresdb, preencha o campo Port com 5432 e Maintenance database com postgres, caso ainda não esteja configurado.
- Ainda na guia Connection, no campo Username, digite admin e no campo Password, digite 123.
- Salve a configuração e neste momento, você já pode acessar o banco de dados.
Antes de criar qualquer migrations, precisar instalar o tool do entity framework (ef). Pode ser instalado como uma ferramenta global ou local.
Ex. local
dotnet tool install dotnet-ef
Ex. global
dotnet tool install --global dotnet-ef
Para criar uma nova migration
dotnet ef migrations add _<NOME_MIGRATION>_ -s ./src/MeAgendaAi.Application/ -p ./src/MeAgendaAi.Infra.Data/
- Argumento -s é referente a --startup-project, projeto onde tem referência da connection string e injeção da configuração do banco.
- Argumento -p é referente a --project, projeto onde tem referência contexto do banco.
dotnet ef database update -s ./src/MeAgendaAi.Application/