Skip to content

EBAC-QE/hub-de-leitura-integrado

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Hub de Leitura - Sistema de Biblioteca para QA

Sistema educacional completo para aprendizado e prática de Quality Assurance (QA)

Node.js Express SQLite JWT Bootstrap License

🎯 Objetivo

O Hub de Leitura é um sistema de gestão de biblioteca desenvolvido especificamente para ensinar e praticar Quality Assurance. Cada funcionalidade representa cenários reais que profissionais de QA encontram no dia a dia.

🎓 Para Estudantes de QA

  • Aprenda testando - Sistema real com cenários complexos
  • API REST completa - Todos os tipos de endpoint
  • Diferentes perfis - Usuário comum vs Administrador
  • Autenticação JWT - Sistema de login profissional
  • Cenários de erro - Como sistemas falham na prática
  • Documentação Swagger - API bem documentada
  • Interface moderna - Frontend para testes E2E

🚀 Funcionalidades

👤 Gestão de Usuários

  • Registro e login de usuários
  • Autenticação JWT com expiração
  • Perfis diferenciados (Usuário/Admin)
  • Atualização de perfil

📖 Catálogo de Livros

  • Listagem com filtros e busca
  • CRUD completo (Admin)
  • Controle de estoque
  • Upload de capas
  • Categorização

📝 Reservas

  • Reserva de livros disponíveis
  • Controle de prazos
  • Gestão de retiradas e devoluções
  • Histórico completo
  • Alertas de atraso

🛠️ Painel Administrativo

  • Dashboard com estatísticas
  • Gestão de todas as reservas
  • Controle de usuários
  • Relatórios e exportações
  • Logs do sistema

🛠️ Tecnologias

Backend

  • Node.js - Runtime JavaScript
  • Express.js - Framework web
  • SQLite - Banco de dados leve
  • JWT - Autenticação
  • Bcrypt - Criptografia de senhas
  • Joi - Validação de dados
  • Swagger - Documentação da API

Frontend

  • HTML5/CSS3 - Estrutura e estilo
  • Bootstrap 5 - Framework CSS
  • JavaScript ES6+ - Interatividade
  • Font Awesome - Ícones
  • Chart.js - Gráficos (futuro)

⚡ Instalação Rápida

Pré-requisitos

  • Node.js 18+ instalado
  • Git instalado
  • Editor de código (Visual Studio Code recomendado)

1. Clone o Repositório e entre na pasta

git clone https://github.com/EBAC-QE/hub-de-leitura-integrado.git
cd hub-de-leitura-integrado

2. Instale as Dependências

npm install

3. Inicie o Servidor

npm start

4. Acesse o Sistema

🔑 Credenciais de Teste

Administrador

Usuário Comum

🧪 Testando a API

Com cURL

# Login
curl -X POST http://localhost:3000/api/login \
  -H "Content-Type: application/json" \
  -d '{"email":"admin@biblioteca.com","password":"admin123"}'

# Listar livros (com token)
curl -X GET http://localhost:3000/api/books \
  -H "Authorization: Bearer SEU_TOKEN_AQUI"

Com Postman/Insomnia

  1. Importe a coleção do Swagger: http://localhost:3000/api-docs
  2. Configure o token JWT no cabeçalho Authorization
  3. Teste todos os endpoints disponíveis

🤝 Contribuindo

Para Instrutores

  1. Fork o repositório
  2. Crie cenários de teste adicionais
  3. Adicione novos endpoints para prática
  4. Documente bugs intencionais para os alunos encontrarem
  5. Envie um Pull Request

Para Alunos

  1. Reporte bugs encontrados (é parte do aprendizado!)
  2. Sugira melhorias na documentação
  3. Compartilhe casos de teste interessantes
  4. Contribua com exemplos de automação

Resetar Banco de Dados

# Pare o servidor "CTRL + C" e delete o arquivo do banco
rm database/biblioteca.db
ou apague manualmente entrando na pasta.
# Rode o comando para recriar o banco
npm run db
# Reinicie o servidor para recriar as tabelas
npm start

🐛 Problemas Comuns

Erro "Port 3000 already in use"

# Encontrar processo usando a porta
lsof -ti:3000
# Finalizar processo
kill -9 PID_DO_PROCESSO

Token expirado

  • Faça login novamente para obter um novo token
  • Tokens expiram em 1 hora por padrão

Banco de dados corrompido

  • Delete o arquivo database/biblioteca.db
  • Rode o comando npm run db para recriar o banco

📚 Recursos de Aprendizado

Documentação

Ferramentas de Teste

Uso Permitido

  • ✅ Uso educacional e acadêmico
  • ✅ Modificação para fins didáticos
  • ✅ Distribuição para alunos
  • ✅ Criação de cursos baseados no projeto

Uso Restrito

  • ❌ Uso comercial direto
  • ❌ Venda do código
  • ❌ Redistribuição sem créditos

⭐ Agradecimentos

Desenvolvido com ❤️ para a comunidade de Quality Assurance.

Contribuidores:


🚀 Bons Testes!

"A qualidade nunca é um acidente; ela é sempre o resultado de um esforço inteligente." - John Ruskin

About

Hub de leitura: Projeto de aprendizagem para QA, frontend e backend integrados.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 54.8%
  • JavaScript 39.9%
  • CSS 5.3%