O HelpFlow é uma aplicação web Full-Stack robusta de sistema de HelpDesk (chamados), projetada para simplificar a comunicação e o gerenciamento de solicitações entre clientes e equipes de suporte (agentes). Desenvolvido com tecnologias modernas, o HelpFlow oferece uma solução eficiente e segura para o acompanhamento de problemas e tarefas.
Este projeto demonstra habilidades sólidas em desenvolvimento Full-Stack, gerenciamento de banco de dados, autenticação e autorização baseada em papéis.
➡️ Acesse a versão ao vivo aqui!
- Autenticação Segura: Login de usuários via GitHub (OAuth), garantindo acesso fácil e seguro.
- Gerenciamento de Usuários: Distinção entre dois tipos de usuários:
- Clientes: Podem criar novos tickets e visualizar apenas os seus próprios tickets.
- Agentes: Possuem acesso a todos os tickets, podendo visualizar detalhes, atualizar o status (Aberto, Em Progresso, Fechado) e deletar tickets.
- Criação de Tickets: Clientes podem abrir novos chamados de forma intuitiva, fornecendo título e descrição detalhada do problema.
- Dashboard Interativo: Visão geral dos tickets, com listagem dinâmica e exibição do status atual (atualização em tempo real após criação).
- Detalhes do Ticket: Página dedicada para cada ticket, mostrando informações completas e opções de gerenciamento para agentes.
- API RESTful: Backend eficiente para todas as operações CRUD (Create, Read, Update, Delete) de tickets.
O sistema implementa uma lógica de autorização baseada em dois papéis:
CLIENT(Cliente):- Papel padrão para todos os novos usuários que se cadastram via GitHub (definido via
@default(CLIENT)no schema Prisma). - Pode criar novos tickets.
- Pode visualizar apenas os tickets que criou.
- Papel padrão para todos os novos usuários que se cadastram via GitHub (definido via
AGENT(Agente):- Atribuição: Atualmente, a promoção de um usuário para
AGENTé feita manualmente pelo administrador diretamente no banco de dados (Supabase). - Pode visualizar todos os tickets de todos os clientes.
- Pode atualizar o status (
Aberto,Em Progresso,Fechado) de qualquer ticket. - Pode deletar qualquer ticket.
- Atribuição: Atualmente, a promoção de um usuário para
- Framework: Next.js (App Router) - Para o desenvolvimento Full-Stack, renderização de componentes e API Routes.
- Linguagem: JavaScript
- Estilização: Tailwind CSS - Para um design responsivo e moderno.
- Autenticação: NextAuth.js - Sistema completo de autenticação com provedores OAuth (GitHub).
- ORM: Prisma - Gerenciamento de banco de dados, modelagem e consultas.
- Banco de Dados: Supabase (PostgreSQL) - Backend como serviço (BaaS), com banco de dados gerenciado.
- Animações (Opcional): Framer Motion (se aplicável, adicione aqui)
Para configurar e executar o HelpFlow no seu ambiente de desenvolvimento:
-
Clone o repositório:
git clone [https://github.com/tharcio09/helpflow.git](https://github.com/tharcio09/helpflow.git) cd helpflow -
Siga as instruções detalhadas de configuração: Consulte o arquivo
DEVELOPMENT.mdna raiz do projeto para obter informações sobre variáveis de ambiente (.env), configuração do Supabase, GitHub OAuth e como iniciar o servidor.
Tharcio Santos