O Master CRM Interface é uma interface frontend moderna de um sistema CRM (Customer Relationship Management), desenvolvida com foco em experiência do usuário, responsividade e arquitetura escalável.
A aplicação permite o gerenciamento completo de:
- Clientes
- Contatos
- Usuários
- Oportunidades
- Feed de atividades
Além disso, o projeto conta com dashboard analítico, autenticação JWT, tema claro/escuro e componentes reutilizáveis construídos com tecnologias modernas do ecossistema React.
- Métricas animadas
- Cards estatísticos
- Gráficos interativos com Recharts
- Visualização de oportunidades e desempenho
- CRUD completo
- Busca e filtros dinâmicos
- Marcação de oportunidades ⭐
- Visualização detalhada em modal
- Cadastro de contatos
- Associação com clientes
- Organização de informações
- Administração de usuários do sistema
- Cadastro e autenticação
- Timeline cronológica
- Histórico de interações
- Sistema de busca
- Login e cadastro
- Rotas protegidas
- Persistência de autenticação via
localStorage - Interceptor automático com Axios
- Alternância de tema
- Persistência no navegador
- Sidebar mobile
- Layout adaptável
- Compatível com diferentes tamanhos de tela
- Animação generativa em pointilhismo
- Skeleton loading
- Interface moderna e fluida
- Experiência visual dinâmica
| Categoria | Tecnologia |
|---|---|
| Framework | React 19 |
| Linguagem | TypeScript |
| Build Tool | Vite |
| Estilização | Tailwind CSS 4 |
| Roteamento | React Router DOM 7 |
| Requisições HTTP | Axios |
| Gráficos | Recharts |
| Ícones | Lucide React |
| Notificações | React Hot Toast |
| Utilitários | clsx, tailwind-merge |
| Deploy | Vercel |
src/
├── api/
│ └── axios.ts
│
├── assets/
│
├── components/
│ ├── Avatar.tsx
│ ├── PointillismAnimation.tsx
│ ├── SidebarLogo.tsx
│ └── TableSkeleton.tsx
│
├── layouts/
│ └── CrmLayout.tsx
│
├── lib/
│ └── utils.ts
│
├── pages/
│ ├── Intro.tsx
│ ├── Login.tsx
│ ├── Dashboard.tsx
│ ├── Clientes.tsx
│ ├── Contatos.tsx
│ ├── Usuarios.tsx
│ └── FeedAtividades.tsx
│
└── App.tsxAntes de começar, você precisará ter instalado:
- Node.js 18+
- npm ou yarn
- Backend/API rodando localmente
# Clone o repositório
git clone https://github.com/seu-usuario/master-crm-interface.git
# Acesse a pasta do projeto
cd master-crm-interface
# Instale as dependências
npm installCrie um arquivo .env na raiz do projeto:
VITE_API_URL=http://localhost:4000Caso a variável não seja definida, o projeto utilizará:
http://localhost:4000como URL padrão da API.
npm run devnpm run buildnpm run previewnpm run lintA aplicação utiliza autenticação via JWT.
O token é obtido através do endpoint:
/usuarios/logare armazenado no:
localStorageO Axios injeta automaticamente:
Authorization: Bearer <token>em todas as requisições autenticadas.
| Rota | Tipo |
|---|---|
/ |
Pública |
/login |
Pública |
/app/dashboard |
Protegida |
/app/clientes |
Protegida |
/app/contatos |
Protegida |
/app/usuarios |
Protegida |
/app/feed |
Protegida |
A interface consome uma API REST.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /usuarios/logar |
Login |
| POST | /usuarios/cadastrar |
Cadastro de usuário |
| GET | /usuarios/all |
Listar usuários |
| GET | /clientes |
Listar clientes |
| GET | /clientes/:id |
Detalhes de cliente |
| POST | /clientes |
Criar cliente |
| PUT | /clientes/:id |
Atualizar cliente |
| DELETE | /clientes/:id |
Deletar cliente |
| GET | /contatos |
Listar contatos |
| POST | /contatos |
Criar contato |
| PUT | /contatos/:id |
Atualizar contato |
| DELETE | /contatos/:id |
Deletar contato |
O projeto está hospedado na Vercel.
A configuração do vercel.json garante o funcionamento correto do roteamento SPA:
{
"rewrites": [
{
"source": "/(.*)",
"destination": "/index.html"
}
]
}✅ Interface moderna de CRM
✅ Dashboard analítico
✅ Autenticação JWT
✅ Tema claro/escuro
✅ Componentização
✅ Responsividade completa
✅ Arquitetura escalável
✅ Animações e experiência fluida
✅ Integração com API REST
✅ Estrutura profissional de frontend
- Marlos
- João
- Henriqu
- Mirelly
- Samara
- Mariana
- Javier
Projeto desenvolvido em equipe com foco em boas práticas de desenvolvimento frontend, componentização, responsividade e experiência do usuário.
Este projeto está sob a licença MIT.
Consulte o arquivo LICENSE para mais informações.