Sistema de gerenciamento de chamados de suporte técnico rodando no terminal.
Desenvolvido em Python com SQLite e interface visual com a biblioteca Rich.
| Tecnologia | Uso |
|---|---|
| Python 3.10+ | Linguagem principal |
| SQLite3 | Banco de dados local (sem instalação extra) |
| Rich | Interface visual no terminal (tabelas, cores, painéis) |
- Usuários — Cadastrar, listar e buscar por nome ou setor
- Chamados — Abrir, listar, buscar, atualizar status, registrar solução e fechar
- Relatórios — Por status, prioridade, setor e tempo médio de resolução
- Prioridades — Baixa / Média / Alta / Crítica (com cores distintas)
- Fluxo de status — Aberto → Em andamento → Resolvido → Fechado
# Clone o repositório
git clone <url-do-repo>
cd helpdesk
# Crie um ambiente virtual (recomendado)
python3 -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Instale as dependências
pip install -r requirements.txtpython main.pyO banco de dados helpdesk.db é criado automaticamente na primeira execução.
helpdesk/
├── main.py # Entrada do sistema e menu principal
├── database.py # Conexão e criação do banco SQLite
├── chamados.py # CRUD e lógica de chamados
├── usuarios.py # CRUD de usuários
├── relatorios.py # Relatórios e estatísticas
├── helpdesk.db # Banco SQLite (gerado automaticamente)
├── requirements.txt # Dependências do projeto
└── README.md # Esta documentação
| Campo | Tipo | Descrição |
|---|---|---|
| id | INTEGER PK | Identificador único |
| nome | TEXT | Nome completo |
| TEXT UNIQUE | Email (único) | |
| setor | TEXT | Setor/departamento |
| data_cadastro | TEXT | Data e hora do cadastro |
| Campo | Tipo | Descrição |
|---|---|---|
| id | INTEGER PK | Identificador único |
| titulo | TEXT | Título do chamado |
| descricao | TEXT | Descrição detalhada |
| prioridade | TEXT | Baixa / Média / Alta / Crítica |
| status | TEXT | Aberto / Em andamento / Resolvido / Fechado |
| usuario_id | INTEGER FK | Referência ao usuário solicitante |
| data_abertura | TEXT | Data/hora de abertura |
| data_atualizacao | TEXT | Data/hora da última atualização |
| solucao | TEXT | Descrição da solução aplicada |
- Modelagem relacional com chave estrangeira (
PRAGMA foreign_keys = ON) - CRUD completo em SQL (INSERT, SELECT, UPDATE)
- Organização em módulos separados por responsabilidade
- Tratamento de erros e validações de entrada
- Fluxo de negócio real (ciclo de vida de um chamado)
- Uso de biblioteca externa (
requirements.txt)
Projeto desenvolvido como parte do roadmap full stack — Fase 2