Autenticação e autorização
Cadastro e login com JWT, tokens com validade de 15 minutos e senhas protegidas com bcrypt. As rotas protegidas identificam o usuário e controlam o acesso aos seus dados.
Da lógica à interface. Construindo aplicações, conectando dados e aprendendo a cada projeto.
Técnico em Informática · IFSULDEMINAS
C1Inglês avançado

API REST para consultar um catálogo de jogos, organizar uma biblioteca pessoal e publicar avaliações. Desenvolvida como projeto de portfólio para minha candidatura ao Hydra Launcher.
/auth/login/games?page=1&limit=20/games/top/me/library/games/:gameId/reviews/metricsO projeto conecta uma experiência de uso concreta a decisões de autenticação, persistência, desempenho e monitoramento.
Cadastro e login com JWT, tokens com validade de 15 minutos e senhas protegidas com bcrypt. As rotas protegidas identificam o usuário e controlam o acesso aos seus dados.
Busca por título, paginação e consulta por ID. Cada usuário organiza seus jogos por status — quero jogar, jogando, concluído ou abandonado — e registra horas jogadas.
Notas de 1 a 10, comentários opcionais e uma avaliação por usuário em cada jogo. Apenas o autor pode editar ou excluir sua avaliação. O ranking considera jogos com pelo menos três avaliações.
Script de importação manual que valida os dados com Zod e usa upsert pelo ID externo. A estratégia permite atualizar o catálogo sem duplicar jogos já importados.
Módulos NestJS separam autenticação, usuários, catálogo, biblioteca e avaliações. Prisma concentra o acesso ao PostgreSQL, com schema e migrations versionados.
auth / usersgames / library / reviewsprisma / redismetrics / healthO modelo relaciona User, Game, LibraryEntry e Review. Restrições compostas impedem entradas duplicadas de um mesmo jogo na biblioteca e múltiplas avaliações pelo mesmo usuário.
O ranking fica em cache no Redis por 60 segundos. Criar, editar ou excluir uma avaliação invalida esse cache, para que a próxima consulta reflita os dados atualizados.
Se o Redis estiver indisponível, a API consulta o PostgreSQL. O cache acelera a leitura sem se tornar uma dependência obrigatória para retornar o ranking.
Vitest e Supertest validam regras e fluxos HTTP. A suíte e2e usa PostgreSQL real para verificar cadastro, login, isolamento das bibliotecas e proteção de avaliações de outros usuários.
Pino gera logs JSON com identificação de requisição. O Vector encaminha os eventos ao OpenObserve, enquanto a configuração remove campos sensíveis definidos, como senhas e cabeçalhos de autenticação.
Prometheus coleta volume e duração das requisições por rota, método e status. A integração opcional com Sentry captura erros quando configurada. Docker Compose organiza os serviços do ambiente local.
Após o cadastro e login, o token JWT autentica as operações da biblioteca e das avaliações. As requisições abaixo são exemplos documentais para explorar o projeto no Insomnia ou Postman.
GET /games?page=1&limit=20&search=portalPOST /me/library
Authorization: Bearer <token>
{ "gameId": 1, "status": "PLAYING" }POST /games/1/reviews
Authorization: Bearer <token>
{ "rating": 9, "comment": "Ótima história." }Os IDs são ilustrativos; use um jogo retornado pelo catálogo ao executar a API.
Código, migrations, testes e instruções para executar o projeto estão no repositório.
Oito certificações do freeCodeCamp em desenvolvimento, bancos de dados e qualidade de software.
Node.js, Express e construção de serviços HTTP. Uma base diretamente relacionada ao desenvolvimento de APIs.
HTML · CSS · Responsive layouts
Ver certificadoJavaScript · Algorithms · Data structures
Ver certificadoFront-end · JavaScript · Libraries
Ver certificadoD3.js · SVG · Data visualization
Ver certificadoPostgreSQL · SQL · Bash
Ver certificadoTesting · Node.js · Chai
Ver certificadoPython · Algorithms · Scientific computing
Ver certificadoNo GameShelf API: TypeScript e NestJS, persistência com PostgreSQL e Prisma, cache Redis, autenticação JWT, testes e observabilidade.
Estou acostumado a usar ferramentas de IA no dia a dia para acelerar o fluxo de desenvolvimento: implementar funcionalidades, investigar erros e apoiar a revisão de código. Avalio as sugestões e valido as soluções com testes e documentação.
Tenho facilidade para me adaptar a novas ferramentas e tecnologias. Quando encontro algo que ainda não aprendi, busco entender os fundamentos, consultar a documentação e experimentar até conseguir aplicar o conhecimento ao problema.
Sou Alexandre Augusto, de Machado, Minas Gerais. Minha trajetória em informática conecta a prática com equipamentos, o atendimento às pessoas e o desenvolvimento de software.
Gosto de entender como as coisas funcionam e transformar esse conhecimento em soluções úteis. Meu próximo passo é crescer como desenvolvedor back-end.
Pretendo cursar Ciência da Computação na UFLA em 2027, aprofundando minha formação em desenvolvimento de software.
Inglês avançado — nível C1.
Ver currículo LattesFormação técnica no Campus Machado, conectando fundamentos da computação e desenvolvimento de sistemas.
Certificações em desenvolvimento web, algoritmos, APIs, bancos relacionais, visualização, testes e Python.
Manutenção de equipamentos e resolução de demandas de informática para facilitar os processos de atendimento.
Experiência com diagnóstico e manutenção de computadores e dispositivos eletrônicos, com foco na resolução de problemas.
Candidatura a Engenheiro Backend Júnior · Hydra Launcher