Skip to content

API RESTful para gerenciamento de catálogo pessoal de jogos e filmes. Desenvolvida com Java, Spring Boot e MySQL.

License

Notifications You must be signed in to change notification settings

augusto-projetos/backlog-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Meu Backlog Pessoal - API & Frontend

Java Spring Boot Spring Security Chart.js Render License TMDB

Sua coleção, suas regras. Organize os jogos que você zerou, os filmes que assistiu e as séries que maratonou em um único lugar seguro e moderno.


🚀 Sobre o Projeto

O Meus Backlog é uma aplicação Fullstack robusta que simula um ambiente de produção real. A versão atual (V5.0) eleva o nível do projeto adicionando recursos de Relatórios Gerenciais, permitindo que o usuário extraia seus dados para uso externo, além de manter a camada de Business Intelligence (BI) para visualização em tempo real.

✨ Destaques da Versão 5.0 (Atual)

  • 📄 Exportação de Dados (Relatórios): Funcionalidade corporativa essencial. Agora é possível baixar todo o acervo em PDF (com layout formatado para impressão) ou Excel (planilha estruturada para análise de dados externa).
  • Processamento em Memória: A geração dos arquivos utiliza ByteArrayOutputStream e bibliotecas otimizadas (Apache POI e OpenPDF), processando tudo na memória RAM para entregar o download instantaneamente, sem onerar o disco do servidor.
  • 🛡️ Blindagem contra Falhas: Tratamento robusto de dados nulos e formatação condicional na geração dos documentos, garantindo que o relatório nunca quebre, mesmo com informações incompletas.

🌟 Funcionalidades Consolidadas

  • 📊 Dashboard de BI: Gráficos interativos (Chart.js) com distribuição de acervo, status de progresso e histograma de notas.
  • 🌐 Modo Social: Links públicos temporários para compartilhar sua coleção com amigos.
  • 🎬 API da TMDB: Busca automática de capas, sinopses e metadados de filmes/séries.
  • 🔍 Filtros Avançados: "Gaveta" de filtros com ordenação por nota, tipo e status.
  • 🔐 Segurança: Spring Security 6, BCrypt, Proteção CSRF e Monitoramento via Sentry.

🛠️ Arquitetura & Tecnologias

Backend (Java Ecosystem)

  • Java 17 & Spring Boot 3: API REST e MVC.
  • Apache POI & OpenPDF: Manipulação avançada de arquivos Office e PDFs.
  • JPA/Hibernate: Consultas otimizadas com Projections e DTOs.
  • Spring Security: Controle de sessão e autenticação.
  • Sentry SDK: Monitoramento de erros em produção.

Frontend

  • Thymeleaf: Renderização Server-Side (SSR).
  • Chart.js: Biblioteca de visualização de dados (Canvas).
  • JavaScript (Vanilla): Lógica assíncrona (async/await) e manipulação de DOM.
  • CSS3 (Neon Theme): Variáveis CSS para temas dinâmicos (Dark/Light Mode).

APIs Externas

  • The Movie Database (TMDB): Metadados de filmes e séries.

⚙️ Como Rodar Localmente

Pré-requisitos

  • Java JDK 17+.
  • Maven.
  • MySQL Server.
  • Chave da API TMDB.
  • DSN do Sentry (Opcional).

Passo a Passo

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/meus-backlog.git
  2. Configure o Banco de Dados: Edite o src/main/resources/application.properties:

    spring.datasource.url=jdbc:mysql://localhost:3306/backlog_db
    spring.datasource.username=seu_usuario
    spring.datasource.password=sua_senha
  3. Variáveis de Ambiente (Recomendado): Configure as chaves no seu sistema ou IDE:

    • TMDB_API_KEY: Sua chave da TMDB.
    • SENTRY_DSN: Seu link do projeto Sentry (se for usar).
  4. Execute a Aplicação:

    mvn spring-boot:run
  5. Acesse: Abra http://localhost:8080 no seu navegador.


🛣️ Roadmap & Futuro

  • V1.0: CRUD Básico.
  • V2.0: Login, Segurança e Perfil.
  • V3.0: Integração TMDB e Capas.
  • V3.1: Modo Social e Monitoramento (Sentry/Umami).
  • V4.0: Dashboard de Estatísticas (Chart.js + DTOs).
  • V5.0: Exportação de Relatórios (Gerar PDF/Excel da coleção).
  • V6.0: ???

🤝 Autor

Desenvolvido com 🤍 e ☕ por Luiz Augusto.
Estudante de Engenharia de Software & Técnico em Informática


About

API RESTful para gerenciamento de catálogo pessoal de jogos e filmes. Desenvolvida com Java, Spring Boot e MySQL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors