Skip to content

ClientHubSystem/ClientHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

📁 ClienteHub — API Rest para Gestão de Clientes e Descrições

O ClienteHub é uma solução de back-end robusta desenvolvida para otimizar o fluxo de cadastro de clientes e o armazenamento de informações descritivas, focando em integridade de dados e escalabilidade.

Este projeto foi desenvolvido por:
Eduarda Aleixo, Gabriel Pereira, Jean Pedro, Júlia Santos, Julio Aguiar, Laís Souza e Wadssa Wacemberg.

🎯 Objetivo

Este projeto foi construído com o propósito de fornecer uma API estruturada para o gerenciamento de clientes e descrições técnicas, aplicando conceitos avançados de arquitetura modular, validações rigorosas e persistência de dados em um ambiente Enterprise.

🚀 Sobre o Projeto

O ClienteHub utiliza o ecossistema NestJS para garantir um código limpo e de fácil manutenção. A API é dividida em módulos independentes que se comunicam para oferecer um serviço completo de CRUD, garantindo que cada dado inserido esteja de acordo com as regras de negócio.

  • 🏗️ Arquitetura Modular: Divisão estratégica entre módulos de Inserção e Descrição.
  • 🔐 Integridade de Dados: Validações automáticas de e-mail, campos obrigatórios e tamanhos de caracteres.
  • 🗄️ Persistência Relacional: Banco de dados MySQL gerenciado via TypeORM com sincronização automática.
  • Servidor Eficiente: Configuração global de pipes para tratamento de requisições.

🛠️ Tecnologias Utilizadas

  • NestJS: Framework principal para a construção da arquitetura.
  • TypeScript: Tipagem forte para evitar erros em tempo de execução.
  • TypeORM: ORM para manipulação de entidades e migrações de banco.
  • MySQL: Motor de banco de dados para armazenamento persistente.
  • Class-Validator: Biblioteca para validação de esquemas de dados (DTOs/Entities).

⚙️ Funcionalidades

  • Módulo de Clientes: Cadastro, atualização e exclusão de clientes com validação de e-mail único.
  • Módulo de Descrições: Sistema para gerenciar títulos e textos longos vinculados a processos internos.
  • Filtros de Busca: Localização de registros através de identificadores únicos (IDs) ou termos parciais (ILike).
  • Feedback HTTP: Retorno de status codes apropriados para cada operação (201 Created, 204 No Content, 404 Not Found).

💡 Diferenciais Técnicos

  • Controller Decorators: Uso de decorators para simplificar a lógica de rotas e injeção de dependências.
  • Tratamento de Erros: Implementação de HttpException personalizada para garantir que o front-end receba mensagens claras.
  • Global Validation: Uso do ValidationPipe no main.ts, garantindo que nenhuma requisição malformada chegue aos Services.
  • Clean Architecture: Organização de diretórios que separa claramente a lógica de negócio (Services) das rotas (Controllers).

📂 Estrutura de Pastas

├── src/
│   ├── description/
│   │   ├── controller/
│   │   │   └── description.controller.ts
│   │   ├── entities/
│   │   │   └── description.entity.ts
│   │   ├── service/
│   │   │   └── description.service.ts
│   │   └── description.module.ts
│   ├── insert/
│   │   ├── controller/
│   │   │   └── insert.controller.ts
│   │   ├── entities/
│   │   │   └── insert.entity.ts
│   │   ├── services/
│   │   │   └── insert.service.ts
│   │   └── insert.module.ts
│   └── main.ts

About

O ClienteHub é uma API centralizada para gestão corporativa, focada na separação lógica entre clientes e descrições técnicas. Desenvolvido com NestJS, o projeto prioriza a integridade dos dados e a escalabilidade, servindo como uma estrutura modular e segura para aplicações que exigem validações rigorosas e alta organização.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors