Sistema profissional para gerenciamento de chamados técnicos com controle de acesso e fluxo completo de atendimento.
- Principais Funcionalidades
- Funcionalidades Destacadas (com snippets de código)
- Tecnologias Utilizadas
- Estrutura do Projeto
- Instalação e Uso
- Considerações de Segurança
- Como Contribuir
- Licença
- Autenticação Segura: Sistema de login com controle de sessão
- Gestão de Tickets:
- Abertura de chamados com categorização
- Visualização de tickets existentes
- Armazenamento em base de dados
- Controle de Acesso:
- Perfil de Administrador (acesso completo)
- Perfil de Usuário (acesso restrito)
- Design Responsivo: Interface adaptável a diferentes dispositivos
- Segurança: Proteção contra acesso não autorizado às páginas internas
// validate_login.php
if($user['email'] == $_POST['email'] && $user['password'] == $_POST['password']) {
$_SESSION['authenticated'] = 'YES';
header('Location: home.php');
}// create_ticket_processor.php
$text = $_SESSION['id'] . '#' . $title . '#' . $category . '#' . $description;
file_put_contents('tickets.dat', $text, FILE_APPEND);// access_validator.php
session_start();
if (!isset($_SESSION['authenticated'])) {
header('Location: index.php?login=errorSecond');
}- PHP 7.4+ - Lógica de backend e gerenciamento de sessões
- Bootstrap 5.3.3 - Framework CSS para interface responsiva
- HTML5 - Estrutura semântica
- CSS3 - Estilização personalizada
- Popper.js - Manipulação de elementos UI
app_help_desk/
│
├── node_modules/
│ ├── @popperjs/
│ └── bootstrap/
│
├── public/
│ └── favicons/
│
├── src/
│ └──assets/
│ ├── css/
│ │ ├── global/
│ │ │ ├── fonts.css
│ │ │ ├── global.css
│ │ │ ├── reset.css
│ │ │ ├── scrollbar.css
│ │ │ └── variables.css
│ │ ├── layouts/
│ │ │ ├── footer.css
│ │ │ └── header.css
│ │ ├── pages/
│ │ │ ├── create_ticket.css
│ │ │ ├── home.css
│ │ │ ├── login.css
│ │ │ └── view.ticket.css
│ │ │
│ │ └── style.css
│ │
│ ├── data-base/
│ │ └── ticket.dat
│ │
│ ├── images/
│ ├── pages/
│ │ ├── create_ticket.php
│ │ ├── home.php
│ │ └── view_tickets.php
│ │
│ └── scripts/
│ ├── access_validator.php
│ ├── create_ticket_processor.php
│ ├── logoff.php
│ └── validate_login.php
├── index.php
├── package-lock.json
├── package.json
└── readme.md
-
Pré-requisitos:
- Servidor web (XAMPP/WAMP/MAMP)
- PHP 7.4 ou superior
- Node.js (para gestão de dependências)
-
Instalação:
git clone https://github.com/DanAntunes/app-help-desk.git cd app-help-desk npm install -
Acesso:
- Acesse
http://localhost/app-help-desk - Credenciais de teste:
- Admin:
adm@teste.com.br/1234 - Usuário:
dan@teste.com.br/1234
- Admin:
- Acesse
- Sistema de sessão com timeout automático
- Proteção contra acesso direto a arquivos internos
- Sanitização básica de inputs
- Armazenamento seguro de credenciais (em memória)
Nota: Este é um projeto didático. Para ambientes produtivos, recomenda-se:
- Implementar banco de dados relacional
- Adicionar hash de senhas
- Implementar CSRF protection
- Faça um fork do projeto
- Crie sua branch:
git checkout -b feature/nova-feature - Commit suas mudanças:
git commit -m 'Adiciona nova feature' - Push para a branch:
git push origin feature/nova-feature - Abra um Pull Request
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
