Giter Club home page Giter Club logo

bardg's Introduction

Bar do DG - API em .Net Core e Front em Angular

  • Versão do Framework da API: .Net Core 2.2 (\BarDG\src\BarDg\BarDg.sln)
  • Versão do Front-End Angular: 9.1.11 (\BarDG\src\BarDg\bar-dg-front)

Pontos de evolução futura:

Criar uma tela para a consulta e listagem de demandas criadas.

Estratégias:

Foi adotada a estratégia de utilizar tecnologias mais atuais como .Net core e Angular, pois o meu conhecimento é u pouco mais amplo nestas tecnologias. Estas tecnologias também são minhas ferramentas de trabalho atuais. A autenticação via token foi escolhida pela segurança e também ser uma ferramenta que está sendo muito utilizada nos dias atuais e também muito bem avaliada.

Configurações

1 - Passo a Passo Banco:

  1. Executar o script de criação das tabelas (\BarDG\DB\1 - Banco.sql)
  2. Executar o script de geração das cargas das tabelas (\BarDG\DB\2 - Carga.sql)
  3. Opcional: Para criar um novo usuário de autenticação da API utilizar o script localizado em \BarDG\DB\Criar novo Usuário.sql alterar nas variaveis do front (Configurações 3 - Passo a Passo FRONT, observações).

2 - Passo a Passo API:

  1. Alterar a variável 'ConnectionString' do appsettings.json;

3 - Passo a Passo FRONT:

  1. Instalar o Node JS;
  2. Executar o comando: npm install
  3. Executar o comando: ng serve

OBS: As configurações do front (\BarDg\bar-dg-front\src\environments\environment.ts) não precisam ser alteradas, apenas se desejado.

Informações

Caminhos:

Arquitetura:

Foi utilizada uma arquitetura Hexagonal.

Front-End Angular

Front-End

Swagger:

Para acessar a documentação da API, gerada pelo Swagger, é necessário incluir o pré fixo 'doc' na URL (a API subirá automaticamente neste caminho).

Exemplo:

Documentação com Swagger:

Swagger doc

Autenticação

Para conseguir utilizar os serviços da API é necessário a geração de um token JWT através da controller /Login/Login ([controller]/[método]) passando um usuário e senha de sistema. O front-end em Angular já realiza esta autenticação utilizando o usuário e senha padrão.

Para testar via Swagger é necessário antes utilizar o end-point citado acima para gerar um token e em seguida anexar o token no swagger clicando no botão 'Authorize' no cando superior direito. O token é valido durante 30 minutos.

Parâmetros do Swagger para a autenticação: { "Id": 1, "Login": "BARDG", "Senha": "BAR01", "Ativo": true }

Autenticação

Logs

  • A API possui uma implementação para controle de erros internos, onde os logs, stack trace, data, objeto são inseridos no banco de dados na tabela TbBDG_Log

Conceitos utilizados

  • API - .Net Core 2.2
  • Angular 9
  • Arquitetura Hexagonal
  • Autenticação do JWT (Json Web Token)
  • Documentação com Swagger
  • Dapper
  • Fluent Map
  • Auto Mapper
  • Banco de dados SQL Server
  • IoC
  • Testes unitários

bardg's People

Contributors

felidan avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.