O projeto Não Se Cale é um site com intuito de divulgar informações de grande relevância social para mulheres que sofrem de violência domestica, física e psicológica.
Possuir um client feito em Reactjs e uma API .Net 6.0
. Que possuir Swagger, Sistema de login com tokens JWT, Serilog entre outros, implementados.
- Realize o download do .Net 6 SDK e Visual Studio/Code.
- instale o mysql 8, 0, 31 e dentro da pasta Banco de dados tem todo o script do banco da aplicação.
- Vá para o arquivo appsetting.json e atualize a string de conexão para o da sua máquina.
- Vá para a pasta API-SITE-Mulher e rode esse seguinte comando:
dotnet run
- Depois que dê um
npm install
- Dentro da pasta naosecale para está instalando as dependencias necessarias para roda o client da aplicação.
Na pasta Collections da API contem 4 arquivos de configuração para importar todos os end-points para um cliente como postman/insomnia.
Neste projeto, algumas rotas precisam de autenticação/autorização. Para isso, você terá que utilizar a rota api/auth/v1/signin
para obter o JWT.
Por padrão, você tem um usuário disponívei para login:
- Usuário teste: { "email": "[email protected]", "password": "admin213!" }
Depois disso, você pode passar o JWT clicando no cadeado (se estiver usando swagger) ou via o cabeçalho Authorization
se tiver realizando uma requisição http.
- Integração com o Banco de Dados MySql
- Versionamento de Endpoints
- Arquitetura em Camadas
- Generic Repository
- Value Object (VO)
- Custom Serialization
- Content Negociation
- Swagger (OpenAPI)
- CORS (Cross-origin resource sharing)
- Autenticação com tokens JWT
- Query Params e Paged Search (ou paginação)
- Consumindo a API com ReactJS
- SwaggerUI
- EntityFramework
- Injeção de Dependência
- Business: a camada responsável por tratar das regras de negocios da Api fazendo chamadas diretamente para a camada Repository ou converte os dados do banco para VO (Value object) caso necessário.
- Configurations: a camada que contém uma class chamada TokenConfiguration que esse class contém os atributos de configuração do token JWT.
- Controllers: a camada que vai receber as requisições em Http do client.
- Data : a camada que tabalha com o VO (value object) da aplicação.
- Model: é a camada que contém as entidades da aplicação que o ORM EntityFramework usar para mapear os objetos para o banco de dados da aplicação.
- Repository: é a camada que mexer diretamente com o banco de dados.
- Services: é a camada que Gerar os tokens JWT e outras coisas relacionadas também. `
- Enum: é a camada que contem um arquivo de enumeradores
Se este template foi útil para você ou se você aprendeu algo, por favor dê uma estrela! ⭐