SOFTWARE DEVELOPER / 2026

Back-end / Front-end / APIs

Da lógica à interface. Construindo aplicações, conectando dados e aprendendo a cada projeto.

Técnico em Informática · IFSULDEMINAS

C1Inglês avançado

GitHub·LinkedIn·Machado, MG · Brasil
Alexandre Augusto
ALEXANDRE AUGUSTODEVELOPER_
01 / PROFILE
01PROJETO PRINCIPAL

GameShelf API

BACK-END / GAME CATALOG
PORTFÓLIO · CANDIDATURA HYDRA

Jogos, dados e
engenharia back-end.

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.

  • Autenticação JWT e regras de autorização.
  • Catálogo paginado, avaliações e ranking com cache Redis.
  • Testes unitários e e2e com Vitest e Supertest.
  • Logs com Pino e OpenObserve; métricas com Prometheus e integração com Sentry.
TypeScriptNestJSPostgreSQLPrismaRedisVitest
gameshelf / api
ROTAS DO PROJETO
POST/auth/login
GET/games?page=1&limit=20
GET/games/top
POST/me/library
POST/games/:gameId/reviews
GET/metrics
CÓDIGO E DOCUMENTAÇÃO DISPONÍVEIS NO GITHUB
DO PRODUTO À IMPLEMENTAÇÃO

Um backend completo para uma biblioteca de jogos.

O projeto conecta uma experiência de uso concreta a decisões de autenticação, persistência, desempenho e monitoramento.

01 / AUTH

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.

02 / CATALOG

Catálogo e biblioteca pessoal

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.

03 / REVIEWS

Avaliações com regras de negócio

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.

04 / INGESTION

Importação pela RAWG

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.

ARQUITETURA

Responsabilidades bem definidas

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 / health

O 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.

DECISÃO TÉCNICA

Cache com atualização e tolerância a falhas

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.

60sTTL do ranking · invalidação ao alterar avaliações
QUALIDADE E OBSERVABILIDADE

Entender o comportamento. Validar as regras.

Testes automatizados

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.

Logs rastreáveis

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.

Métricas e erros

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.

Exemplo de fluxo de uso da API

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.

01 / CATALOG
GET /games?page=1&limit=20&search=portal
02 / LIBRARY
POST /me/library
Authorization: Bearer <token>

{ "gameId": 1, "status": "PLAYING" }
03 / REVIEW
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.

02CERTIFICAÇÕES

Formação que sustenta a prática.

Oito certificações do freeCodeCamp em desenvolvimento, bancos de dados e qualidade de software.

freeCodeCamp
01 / DESTAQUE · BACK-END

Back-End Development and APIs

Node.js, Express e construção de serviços HTTP. Uma base diretamente relacionada ao desenvolvimento de APIs.

Ver certificado
02freeCodeCamp

Responsive Web Design

HTML · CSS · Responsive layouts

Ver certificado
03freeCodeCamp

JavaScript Algorithms and Data Structures

JavaScript · Algorithms · Data structures

Ver certificado
04freeCodeCamp

Front-End Development Libraries

Front-end · JavaScript · Libraries

Ver certificado
05freeCodeCamp

Data Visualization

D3.js · SVG · Data visualization

Ver certificado
08freeCodeCamp

Scientific Computing with Python

Python · Algorithms · Scientific computing

Ver certificado
03DIREÇÃO TÉCNICA

Base sólida. Próximos desafios.

01 / NA PRÁTICA

O que os projetos mostram

No GameShelf API: TypeScript e NestJS, persistência com PostgreSQL e Prisma, cache Redis, autenticação JWT, testes e observabilidade.

TypeScriptNode.jsNestJSPostgreSQLPrismaRedisJWTVitestSupertestPinoOpenObservePrometheusSentryDocker Compose
02 / COMO TRABALHO

IA no fluxo. Aprendizado contínuo.

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.

Desenvolvimento com IAAdaptabilidadeAprendizado contínuo
04ALÉM DO CÓDIGO

Curiosidade que
vira solução.

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 Lattes
FORMAÇÃO

Informática · IFSULDEMINAS

Formação técnica no Campus Machado, conectando fundamentos da computação e desenvolvimento de sistemas.

FREECODECAMP

Certificações em desenvolvimento

Certificações em desenvolvimento web, algoritmos, APIs, bancos relacionais, visualização, testes e Python.

EXPERIÊNCIA · 2 ANOS

Suporte de informática em sindicato

Manutenção de equipamentos e resolução de demandas de informática para facilitar os processos de atendimento.

ESTÁGIO

Atendimento técnico e manutenção

Experiência com diagnóstico e manutenção de computadores e dispositivos eletrônicos, com foco na resolução de problemas.

05VAMOS CONVERSAR

O próximo capítulo
começa com uma conversa.

Candidatura a Engenheiro Backend Júnior · Hydra Launcher

QR code do Linktree de Alexandre Augusto

Linktree

Todos os meus links, em um lugar.

Acesse clicando aqui