Giter Club home page Giter Club logo

contacts's Introduction

Aplicação para gerenciamento de contatos

  • API REST que gerencia as pessoas e seus contatos, onde permite criar, atualizar, obter e excluir tanto as pessoas quanto os contatos. Uma pessoa pode ter vários contatos, como telefone, e-mail ou whatsapp.

Funções Pessoa

  • Cadastrar Pessoa
  • Atualizar Pessoa
  • Busca Pessoas
  • Busca apenas uma Pessoa
  • Excluir Pessoa
Método HTTP Endpoint Descrição
POST /Person Cadastra uma nova Pessoa
PUT /Person/:id Atualiza as informações de uma pessoa
GET /Person Retorna uma lista paginada de pessoas
GET /Person/:id Retorna uma pessoa específica pelo ID
DELETE /Person/:id Exclui uma pessoa específica pelo ID

Funções Tipo Contato

  • Cadastrar Tipo
  • Atualizar Tipo
  • Busca Tipos
  • Busca apenas um Tipo
  • Excluir Tipo
Método HTTP Endpoint Descrição
POST /ContactType Cadastra um novo tipo
PUT /ContactType/:id Atualiza as informações de um tipo
GET /ContactType Retorna uma lista paginada de tipos
GET /ContactType/:id Retorna um tipo específico pelo ID
DELETE /ContactType/:id Exclui um tipo específico pelo ID

Funções Contato

  • Cadastrar Contato
  • Atualizar Contato
  • Busca Contatos
  • Busca apenas um Contato
  • Excluir Contato
Método HTTP Endpoint Descrição
POST /Contact Cadastra um novo contato
PUT /Contact/:id Atualiza as informações de um contato
GET /Contact Retorna uma lista paginada de contatos
GET /Contact/:id Retorna um contato específico pelo ID
DELETE /Contact/:id Exclui um Contato específico pelo ID

Funções Log

  • Busca Logs
  • Busca apenas um Log
Método HTTP Endpoint Descrição
GET /Log Retorna uma lista paginada de logs
GET /Log/:id Retorna as informações do Ip de um log específico pelo ID
  • Integração com a apiip, para localizar e identificar os IPs dos visitantes.

Próximas Features

  • Autenticação
  • Ao adicionar um Tipo de Contato ter a opção de definir uma máscara padrão, onde ao inserir um contato daquele tipo faça tal validação. Ex: Telefone, e-mail...
  • Front-End

Melhorias

  • Retornar o id ao cadastrar

Sobre o Projeto

Stack

  • .Net 6

Banco de Dados

  • PostgreSQL

Testes Unitários

  • xUnit
  • Padrão AAA
  • AutoFixture
  • Moq
  • Shouldly

Documentação

  • Swagger

Instruções para rodar o projeto no Visual Studio

  • .Net 6 instalado Definir o projeto da API como projeto de inicialização
 CTRL + F5 -> Rodar o projeto 
 F5 -> Debuggar o projeto

Com o projeto rodando, abrir a aplicação no IIS:

Com a aplicação aberta no navegador, a documentação Swagger pode ser visualizada adicioando um /swagger/index.html

Criando/Atualizando o Banco de Dados com Migration

Ter o postgreSQL instalado e configurado, alterar o ContactsDbContext.cs com as suas configurações.

  • Definir somente a Api para inicializar;
  • Abrir o console em: Ferramentas -> Gerenciador de Pacotes Nuget -> console;
  • Selecionar a camada de conexão (persistence);
  • add-migration update-(versão do update);
  • update-database

contacts's People

Contributors

chaienekrebs avatar

Stargazers

Pedro Neves avatar Octavio Naspolini avatar

Watchers

 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.