Uma API RESTful para gerenciamento de pedidos, mesas e garçons em um restaurante.
Desenvolvido com o objetivo de aprofundar e fixar conhecimentos práticos no dotNET. O projeto consiste na construção de uma WebAPI robusta utilizando tecnologias como Entity Framework Core, AutoMapper e FluentValidation.
- Linguagem e Framework:
- Banco de Dados:
- Bibliotecas e Ferramentas:
- JWT (JSON Web Tokens) - Autenticação
- AutoMapper - Mapeamento de Objetos
- FluentValidation - Validação
- Swagger - Documentação da API
Antes de começar, garanta que você tenha as seguintes ferramentas instaladas:
Siga os passos abaixo para ter uma cópia do projeto rodando em sua máquina.
- Clonar o repositório para a máquina local:
git clone https://github.com/DerickPipoca/WaiterAPI.git- Entrar na pasta do projeto:
cd WaiterAPI- O projeto separa as configurações públicas das informações sensíveis. As configurações públicas para o JWT já estão no appsettings.json e devem parecer com o exemplo abaixo:
"JWT" : {
"Issuer" : "https://localhost:7017/",
"Audience" : "https://localhost:7017/",
"DurationInMinutes" : 180
}As informações sensíveis devem ser configuradas via User Secrets. No terminal, na pasta do projeto, execute os comandos abaixo para configurar os segredos da aplicação:
#Iniciar user-secrets
dotnet user-secrets init
#Configurar a Connection String do MySQL
dotnet user-secrets set "ConnectionStrings:DefaultConnection" "Server=localhost;Database=waiterdb;Uid=root;Pwd=sua_senha;"
#Configurar a Key do JWT
dotnet user-secrets set "JWT:Key" "Senha-Longa1234567890-1234567890-1234567890"- Restaure as dependências do .NET:
dotnet restore- Aplique as migrações do banco de dados:
dotnet ef database update# Rodar a API
dotnet runPara entrar no swagger, utilize o link: https://localhost:7017/swagger