Aplicação com simples intuito de criar uma API em C# .net 6 que seja possível cadastrar um usuário e produtos, possuindo autenticação por JWT para cadastrar, atualizar ou deletar algum produto, migration para que seja gerado a estrutura padrão do banco de dados e alguns padrões de projeto.
Para executar o projeto em sua completude, será necessário ter os seguintes programas e ferramentas instaladas:
- .net 6 Framework
- SQL Server
- SQL Server Management Studio
- Visual Code
- C# for Visual Studio Code (Extensão recomendada para o Visual Code)
Como ferramenta adicional, execute sh dotnet tool install -g dotnet-ef
globalmente no terminal. Essa ferramente será necessária para criar o banco de dados a partir da migration contida no código.
Após o clone do repositório, o primeiro passo será criar um banco de dados no SQL Server e atualizar a chave de conexão continda no arquivo appsettings.Development.json encontrado no caminho ../API/Store.Api.Application. para que seja possível se conectar ao mesmo.
Com o banco criado, abra o caminho da pasta ../Infrastructure/Data no terminal e execute o comando dotnet ef database update
. Com esse comando, será criado as tabelas User e Product necessários para a aplicação.
Nesse ponto, o banco de dados já deverá estar OK para que a apliacão funcione da forma que deveria.
Para finalizar, execute o comando dotnet dev-certs https --trust
e aceite o certificado para que seja possível executar a API em HTTPS.
Para executar a API, certifique-se que o launcher no Visual Code esteja corretamente selecionado:
Com isso, basta pressionar F5 e a aplicação estará rodando no link https://localhost:5000/.
Como a API possui integração com a ferramente de documentação Swagger, abra no navegador a seguinte URL: https://localhost:5000/swagger/index.html, com isso você terá acesso a todos os métodos necessários e documentação dos models de request para cada método.
Primeiramente, crie um usuario usando o método POST de USER, esse usuário será necessário para se autenticar e que seja possível cadastrar, atualizar ou deletar algum produto.
Após a execução do método, utilizer o método Auth/Authenticate com os dados de usuário criado e use o token gerado como resposta para autenticar o usuário.
Com isso, todos os métodos serão acessiveis e funcionais.