Sistema completo de CRM (Customer Relationship Management) desenvolvido com FastAPI + MongoDB no backend e React + TypeScript no frontend.
- FastAPI - Framework web moderno e rápido
- MongoDB - Banco de dados NoSQL (migrado de SQLite)
- Motor - Driver assíncrono para MongoDB
- Pydantic - Validação de dados
- Uvicorn - Servidor ASGI
- React - Biblioteca UI
- TypeScript - Tipagem estática
- Vite - Build tool ultrarrápido
- Axios - Cliente HTTP
- Gestão de Clientes: Cadastro, edição, visualização e exclusão de clientes
- Gestão de Negócios: Acompanhamento de oportunidades de vendas com pipeline
- Gestão de Contatos: Múltiplos contatos por cliente
- Gestão de Atividades: Tarefas, ligações, reuniões, emails e notas
- API RESTful: Documentação automática com Swagger
- MongoDB: Escalável e flexível para produção
- Dashboard: Visão geral do sistema
- Python 3.8+
- FastAPI
- SQLAlchemy (ORM)
- SQLite (banco de dados)
- Pydantic (validação de dados)
- Uvicorn (servidor ASGI)
- TypeScript
- React 18
- React Router DOM
- Axios
- Vite
- CSS3
- Navegue até a pasta do backend:
cd backend- Crie um ambiente virtual (recomendado):
python -m venv venv- Ative o ambiente virtual:
# Windows
.\venv\Scripts\activate
# Linux/Mac
source venv/bin/activate- Instale as dependências:
pip install -r requirements.txt- Inicie o servidor:
uvicorn main:app --reloadO backend estará rodando em: http://localhost:8000
Documentação da API: http://localhost:8000/docs
- Navegue até a pasta do frontend:
cd frontend- Instale as dependências:
npm install- Inicie o servidor de desenvolvimento:
npm run devO frontend estará rodando em: http://localhost:3000
Arcsat/
├── backend/
│ ├── main.py # Aplicação principal FastAPI
│ ├── database.py # Configuração do banco de dados
│ ├── models.py # Modelos SQLAlchemy
│ ├── schemas.py # Schemas Pydantic
│ ├── requirements.txt # Dependências Python
│ └── routers/
│ ├── customers.py # Rotas de clientes
│ ├── deals.py # Rotas de negócios
│ ├── contacts.py # Rotas de contatos
│ └── activities.py # Rotas de atividades
│
└── frontend/
├── src/
│ ├── components/ # Componentes React
│ │ ├── Dashboard.tsx
│ │ ├── Customers.tsx
│ │ ├── Deals.tsx
│ │ └── Activities.tsx
│ ├── services/ # Serviços de API
│ │ ├── api.ts
│ │ └── crmService.ts
│ ├── types/ # Definições TypeScript
│ │ └── index.ts
│ ├── App.tsx # Componente principal
│ ├── main.tsx # Ponto de entrada
│ └── App.css # Estilos
├── package.json
├── tsconfig.json
└── vite.config.ts
GET /api/customers- Listar todos os clientesGET /api/customers/{id}- Obter cliente específicoPOST /api/customers- Criar novo clientePUT /api/customers/{id}- Atualizar clienteDELETE /api/customers/{id}- Deletar cliente
GET /api/deals- Listar todos os negóciosGET /api/deals/{id}- Obter negócio específicoPOST /api/deals- Criar novo negócioPUT /api/deals/{id}- Atualizar negócioDELETE /api/deals/{id}- Deletar negócio
GET /api/contacts- Listar todos os contatosGET /api/contacts/{id}- Obter contato específicoPOST /api/contacts- Criar novo contatoPUT /api/contacts/{id}- Atualizar contatoDELETE /api/contacts/{id}- Deletar contato
GET /api/activities- Listar todas as atividadesGET /api/activities/{id}- Obter atividade específicaPOST /api/activities- Criar nova atividadePUT /api/activities/{id}- Atualizar atividadeDELETE /api/activities/{id}- Deletar atividade
- Inicie o backend (porta 8000)
- Inicie o frontend (porta 3000)
- Acesse
http://localhost:3000no navegador - Navegue pelas diferentes seções usando o menu superior
- Crie, visualize, edite e delete registros conforme necessário
- Adicionar Clientes: Comece cadastrando seus clientes
- Criar Negócios: Registre oportunidades de venda vinculadas aos clientes
- Adicionar Contatos: Cadastre pessoas de contato para cada cliente
- Registrar Atividades: Acompanhe todas as interações e tarefas
Este projeto está sob a licença MIT.