Skip to content

mk-nascimento/ContactHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ContactHub

Descrição do Projeto

Este projeto visa proporcionar uma experiência eficiente no gerenciamento de clientes e contatos por meio de uma aplicação web. As funcionalidades básicas de CRUD (Create, Read, Update, Delete) foram implementadas, permitindo o cadastro, visualização, atualização e exclusão de clientes e seus contatos de maneira intuitiva e eficaz.

Funcionalidades Principais

A aplicação incorpora um conjunto abrangente de funcionalidades para atender às necessidades de gestão de clientes e contatos:

  1. Cadastro de Clientes:

    • Nome completo do cliente;
    • E-mail do cliente;
    • Telefone de contato;
    • Data de registro do cliente (data em que o cliente foi cadastrado).
  2. Cadastro de Contatos dos Clientes:

    • Nome completo do contato;
    • E-mail do contato;
    • Telefone de contato;
    • Data de registro do contato (data em que o contato foi cadastrado).
  3. Operações do CRUD:

    • Criar: Adição de novos clientes e contatos ao sistema.
    • Ler: Visualização detalhada das informações dos clientes e seus contatos.
    • Atualizar: Edição dos dados dos clientes e contatos já cadastrados.
    • Deletar: Exclusão de clientes e contatos do sistema.
  4. Vínculo entre Clientes e Contatos:

    • Um cliente pode ter vários contatos vinculados, estabelecendo uma relação um-para-muitos entre clientes e contatos.
  5. Relatório de Clientes e Contatos:

    • Disponibilização de um relatório que apresenta os dados dos clientes e seus respectivos contatos. Esse relatório pode ser visualizado na própria aplicação em formato de tela ou exportado em formato PDF.

Tecnologias Utilizadas

O projeto foi desenvolvido utilizando as seguintes tecnologias:

  • Linguagem de Programação: Typescript
  • Banco de Dados: PostgreSQL
  • Backend: NestJS
  • Frontend: React
  • Ferramentas de Estilização: Tailwindcss
  • Outras bibliotecas e ferramentas serão adicionadas conforme a necessidade do desenvolvimento.

Instruções de Execução

Para executar a aplicação em ambiente local, siga os passos abaixo:

  1. Clonar o repositório do projeto do GitHub: Repositório

  2. Configurar Variáveis de Ambiente:

    Antes de iniciar a aplicação, certifique-se de configurar as variáveis de ambiente necessárias. Consulte os arquivos de exemplo env.example nos seguintes diretórios:

    • Backend: backend/env.example
            Os arquivos devem ser duplicados ou criados com a nomenclatura .env.
    • Frontend: frontend/env.example
            Os arquivos devem ser duplicados ou criados com a nomenclatura .env.
  3. Como Iniciar

    Para iniciar o projeto em sistemas POSIX, execute o Makefile para obter instruções. Utilize o seguinte comando no terminal:

       make

Consumo (server)

A API pode ser acessada nos seguintes ambientes:

Certifique-se de ajustar os URLs de acordo com os seus ambientes reais e fornecer as informações específicas necessárias para o uso adequado da API em cada ambiente.

Consumo (frontend)

A aplicação frontend pode interagir com a API nos seguintes ambientes:

Recursos Disponíveis

A API interna oferece os seguintes recursos:

Método Endpoint Responsabilidade Autenticação
POST /auth/login Realiza login de usuário já cadastrado. Todos os usuários, não necessita token
GET /auth/validate Valida token de usuário logado. Todos os usuários, obrigatório token
POST /api/users Cria um novo cliente. Todos os usuários, não necessita token
GET /api/users Retorna a lista de todos os clientes cadastrados. Apenas administradores, obrigatório token
GET /api/users/profile Retorna os detalhes de um cliente específico com base em seu ID. Administradores ou dono, obrigatório token
GET /api/users/{id} Retorna os dados do usuário logado, contendo sua lista de contatos. Administradores ou dono, obrigatório token
PATCH /api/users/{id} Atualiza os dados de um cliente existente com base em seu ID. Administradores ou dono, obrigatório token
DELETE /api/users/{id} Exclui um cliente com base em seu ID. Administradores ou dono, obrigatório token
POST /api/contacts Cria um novo contato. Administradores ou dono, obrigatório token
GET /api/contacts Retorna a lista de todos os contatos cadastrados. Administradores ou dono, obrigatório token
GET /api/contacts/{id} Retorna os detalhes de um contato específico com base em seu ID. Administradores ou dono, obrigatório token
PUT /api/contacts/{id} Atualiza os dados de um contato existente com base em seu ID. Administradores ou dono, obrigatório token
DELETE /api/contacts/{id} Exclui um contato com base em seu ID. Administradores ou dono, obrigatório token

Créditos

Este projeto foi desenvolvido por:

Foto de perfil GitHub:Maksuel
Maksuel Nascimento

Contato

Se precisar de suporte ou tiver alguma dúvida, entre em contato:

Considerações Finais


Este projeto visa criar uma aplicação web para gerenciamento de clientes e contatos, facilitando a organização e consulta das informações. Com as operações de CRUD disponíveis e o relatório de clientes e contatos, espera-se fornecer uma ferramenta útil e funcional para o usuário.

Caso haja alguma dúvida, sugestão ou melhoria para este projeto, sinta-se à vontade para contribuir através de pull requests ou entrando em contato com a equipe de desenvolvimento.

Agradecemos o interesse em nosso projeto e esperamos que ele possa atender às suas necessidades de gestão de clientes e contatos.

⬆ Voltar ao topo