Skip to content

Latest commit

 

History

History
129 lines (89 loc) · 8.28 KB

README.md

File metadata and controls

129 lines (89 loc) · 8.28 KB

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