Skip to content

LarocaLucas/helpdesk-cli

Repository files navigation

🖥️ HelpDesk CLI — Sistema de Chamados de Suporte

Sistema de gerenciamento de chamados de suporte técnico rodando no terminal.
Desenvolvido em Python com SQLite e interface visual com a biblioteca Rich.


Tecnologias

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)

Funcionalidades

  • 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

Instalação

# 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.txt

Como usar

python main.py

O banco de dados helpdesk.db é criado automaticamente na primeira execução.


Estrutura do Projeto

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

Banco de Dados

Tabela usuarios

Campo Tipo Descrição
id INTEGER PK Identificador único
nome TEXT Nome completo
email TEXT UNIQUE Email (único)
setor TEXT Setor/departamento
data_cadastro TEXT Data e hora do cadastro

Tabela chamados

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

Conceitos Aplicados

  • 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

About

Sistema de chamados de suporte técnico via terminal - Python Sqlite e rich

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages