Code Monkey home page Code Monkey logo

controlepatrimonio's Introduction

Controle de Patrimônios

Este projeto tem como objetivo controlar o cadastro de patrimônios, bem como suas devidas marcas.

Foi desenvolvido uma API em ASP.NET Core 2.2 com endpoints possibilitando as operações de CRUD sobre as entidades Patrimônio e Marca.

Foi utilizado o ADO.Net puro para acesso a dados, possibilitando ganho de performance na realização das operações.

Para a camada de regras de validações de negócio, foi utilizado a biblioteca FluentValidation, deixando as validações mais fluídas, de fácil entendimento e manutenção e a redução de "ifs" no código.

Toda exceção ocorrida é capturada e tratada por uma camada global. É retornada uma mensagem genérica ao client e a exceção original é registrada em um arquivo de log ("./src/Patrimonio.API/Log").

Pré-Requisitos

Para o real funcionamento da solução, é necessário um pré-requisito mínimo com as seguintes ferramentas e Frameworks:

Instalando a aplicação

Para que a solução fique pronta para utilização, são necessários os seguintes passos para instalação:

  • Abrir conexão com o seu servidor de SQL, através de uma ferramenta de gerenciamento, e executar o arquivo ".src/Patrimonio.DataAccess/Scripts/14_Criar_Todos_Objetos_BD.sql", onde contém um script para a criação de todos os objetos necessários na base de dados.

  • Alterar o valor da propriedade "ConnectionString" no arquivo "./src/Patrimonio.API/appsettings.json" de acordo com parâmetros para acesso ao seu servidor e instância SQL.

  • Compilar a solução para que sejam restaurados os pacotes e dependências dos projetos e também gerados os arquivos binários. Abra o Prompt de Comando, aponte para a pasta da solução *".sln" e execute o seguinte comando:

    dotnet build

  • É necessário executar uma API que é base para o Backend da aplicação. Ainda no Prompt de Comando e na pasta da solução, navegue até a pasta do projeto da API ("./src/Patrimonio.API") e execute o seguinte comando:

    dotnet run

    A API ficará disponível na porta 5000: http://localhost:5000 ou https://localhost:5001

Passos para utilização da aplicação

Não foram desenvolvidas telas para o controle de patrimônios, portanto, será necessário consumir diretamente os endpoints da API através de uma ferramenta REST Client.

Indico a utilização do Postman como ferramenta. Caso opte por ela, no caminho ".src/resource" contém uma coleção Postman com chamadas aos endpoints da API, que pode ser importada para a ferramenta.

ROADMAP

A versão atual do produto não contempla todas as features e boas práticas desejadas, contudo, a listagem a seguir apresenta os principais itens para futuros releases:

  • Necessidade de Token de acesso a todos os endpoints da API, permitindo acesso somente a usuários ou sistemas autenticados na plataforma;

  • Desenvolvimento da suíte de testes, contemplando testes unitários de todas as camadas e testes de integração;

  • Configuração do Swagger para documentação da API;

  • Como versão inicial, não foram implementadas todas as regras de validações e tratamentos necessários;

  • Configuração do Docker para build da API em uma imagem, possibilitando a sua execução em um container Linux

controlepatrimonio's People

Contributors

diegodalben avatar

Watchers

James Cloos 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.