Aberto a novas oportunidades profissionais

Retrato de Rodrigo Rezende

Rodrigo Rezende

Analista de Suporte de Sistemas ERP & Desenvolvedor de Software

“Transformando problemas técnicos em soluções de software.”

Analista de Suporte de Sistemas ERP e desenvolvedor focado em Java, Spring Boot, SQL e aplicações web com Angular.

suporte@erp:~

$ suporte --diagnosticar incidente-erp

> consulta MySQL executada · inconsistência corrigida

$ git commit -m "feat: nova API Spring Boot"

> build ok · testes ok · deploy pronto

$

MySQL online
JWT válido

Sobre mim

Do chamado de suporte ao código que resolve o problema

Uma trajetória construída na prática: diagnosticar sistemas em produção e, cada vez mais, programar as soluções.

Retrato de Rodrigo Rezende

Atuação atual

Suporte a Sistemas ERP

Base do dia a dia

SQL & MySQL em produção

Desenvolvimento pessoal

Java, Spring Boot & Angular

Atuo com suporte técnico a sistemas ERP, o que na prática significa investigar bases MySQL todos os dias: encontrar a consulta que explica um saldo errado, identificar cadastros inconsistentes e corrigir falhas antes que virem um problema para o cliente.

Esse contato diário com bancos de dados reais e chamados de produção é o que me levou a programar: comecei a construir as ferramentas que gostaria de ter no suporte, e de lá para aplicações completas em Java e Spring Boot.

Do lado do desenvolvimento, construo APIs REST com Spring Boot, Spring Security e JWT, modelo persistência com Spring Data JPA e Hibernate, e estou expandindo para o frontend com Angular — este portfólio é um dos ambientes onde pratico isso.

Estou cursando Engenharia de Software na UniBras Centro Universitário, conciliando os estudos com a rotina de suporte e o desenvolvimento de projetos pessoais publicados no GitHub.

Engenharia de Software — UniBras Centro Universitário · janeiro de 2026 — dezembro de 2028 (Em andamento)

Experiência profissional

Trajetória

A experiência registrada publicamente no LinkedIn de Rodrigo — atuação direta com suporte a sistemas ERP.

início da carreira registrada

Analista de Suporte de Sistemas ERP (Mantenedor de Sistemas)

Atual

Brazil Software

novembro de 2024 — atual São Luís de Montes Belos, GO

Suporte técnico a usuários de sistema ERP, com atuação direta em banco de dados MySQL e na estabilidade dos módulos em produção.

  • Diagnóstico e resolução de incidentes relacionados aos módulos do sistema ERP.
  • Execução de consultas e atualizações SQL diretamente no banco de dados MySQL.
  • Identificação de inconsistências cadastrais e correção de falhas que impactam as operações dos clientes.
  • Prestação de suporte remoto e homologação de soluções antes da liberação aos usuários.
  • Acompanhamento de chamados e orientação aos usuários, garantindo a continuidade das operações.
SQL MySQL Suporte ERP Diagnóstico de Sistemas Atendimento Remoto
hoje

Competências

Tecnologias por contexto de uso

Cada tecnologia mostra onde ela é aplicada de fato — para não confundir prática profissional com aprendizado em andamento.

Uso profissional — Aplicado diariamente no trabalho
Projetos reais — Usado em projetos pessoais publicados
Em estudo — Aprendizado ativo, ainda não profissional

Backend

Construção de APIs e regras de negócio em Java, praticadas nos projetos pessoais.

Java Spring Boot Spring Security Spring Data JPA Hibernate APIs REST JWT

Frontend

HTML, CSS e JavaScript aplicados em projetos reais; Angular e TypeScript em estudo, praticados neste portfólio.

JavaScript HTML CSS Angular TypeScript Tailwind CSS

Banco de Dados

Uso profissional diário no suporte ERP, além da modelagem de persistência em projetos próprios.

SQL MySQL

Ferramentas & Infraestrutura

Versionamento, integrações de API e publicação dos próprios projetos.

Git GitHub Integração de APIs Deploy (VPS)

Suporte & Sistemas ERP

A base da atuação profissional atual de Rodrigo.

Sistemas ERP Diagnóstico de erros Manutenção de sistemas Correção de inconsistências de dados Suporte a usuários

Projeto principal · estudo de caso

NexusDemy

Gerenciador de aulas e grade horária, multi-tenant, para escolas.

Contexto

Escolas que organizam grade horária, presença e comunicação com professores em planilhas soltas acumulam conflitos de horário, ausência de histórico de frequência e retrabalho manual toda vez que um período letivo muda. NexusDemy nasceu como resposta a esse problema: um sistema único que uma escola pode assinar, configurar com seus próprios professores, turmas e salas, e operar sem depender de terceiros para montar a grade.

Problema resolvido

Montar e manter a grade horária de uma escola manualmente, sem visibilidade de conflitos, sem controle de presença centralizado e sem forma simples de compartilhar a grade com pais, alunos e professores.

  • Grade horária com criação manual por arrastar-e-soltar e detecção de conflitos em tempo real
  • Gerador automático de grade (algoritmo guloso/greedy) que distribui aulas entre os dias respeitando disponibilidade e carga horária dos professores
  • Chamada e controle de presença por aula, com histórico e relatório de frequência
  • Cadastro de alunos com importação via CSV e vínculo com turmas
  • Modelos de grade: salvar um snapshot da grade atual e restaurar em outro período
  • Calendário acadêmico com semestres, feriados e eventos do ano letivo
  • Configuração de disponibilidade semanal e carga horária máxima por professor

Arquitetura (backend)

src/main/java/.../gerenciador/

├─controller/Camada HTTP REST — 25 controllers expondo os recursos da API.
├─service/Regras de negócio da aplicação, em 18+ services.
├─repository/Acesso a dados via Spring Data JPA.
├─model/19 entidades JPA que representam o domínio acadêmico.
├─dto/Objetos de transferência entre API e frontend.
├─enums/Role, TipoAlerta, DiaSemana, Turno e demais domínios fechados.
├─security/Autenticação JWT, filtros e o TenantContext do multi-tenancy.
├─exception/Tratamento global de exceções da API.

Multi-tenancy: Cada entidade carrega uma coluna instituicao_id. O TenantContext extrai a instituição a partir do JWT autenticado e todas as consultas são automaticamente filtradas por tenant — cada escola enxerga apenas os próprios dados.

Stack técnica

BackendSpring Boot 4.0 · Java 21
SegurançaSpring Security · JWT (JJWT)
PersistênciaSpring Data JPA · Hibernate · MySQL 8
PDFOpenPDF (fork LGPL do iText 5)
PagamentosAPI Asaas
E-mailJavaMailSender (SMTP) · API Brevo
FrontendHTML5 · CSS3 · JavaScript (Vanilla)
GráficosChart.js
BuildMaven (com Maven Wrapper)

Papéis e permissões

SUPER_ADMINGerencia instituições, usuários e configurações da plataforma; pode impersonar uma escola.
ESCOLA_ADMINConfigura grade, aulas, professores, turmas, alunos e chamadas da própria escola.
VISUALIZADORAcesso somente leitura à grade e aos relatórios, incluindo exportação em PDF.

Desafios técnicos

  • Isolar dados de múltiplas escolas em um único banco (multi-tenant por coluna) sem vazar informação entre instituições em nenhuma consulta.
  • Gerar uma grade horária automaticamente respeitando restrições reais — disponibilidade do professor, carga horária máxima e ausência de conflitos — com um algoritmo guloso.
  • Permitir acesso público a uma grade específica (link por turma) sem expor autenticação nem dados de outras turmas ou escolas.
  • Deixar a configuração de e-mail (SMTP ou Brevo) inteiramente no painel administrativo, sem exigir reinício da aplicação para aplicar mudanças.

Aprendizados

  • Aplicar multi-tenancy de forma consistente em todas as camadas — da entidade ao filtro de segurança — em vez de tratar isolamento de dados como um detalhe de query isolado.
  • Desenhar um algoritmo de geração de grade que precisa equilibrar múltiplas restrições ao mesmo tempo, não apenas evitar conflitos óbvios.
  • Integrar um provedor de pagamento (Asaas) e seus webhooks a um fluxo de assinatura com trial, upgrade e expiração.
  • Estruturar uma SPA em JavaScript vanilla organizada por módulo, sem framework, mantendo o código legível conforme o número de telas cresceu.
Spring Boot 4.0 · Java 21 Spring Security · JWT (JJWT) Spring Data JPA · Hibernate · MySQL 8 OpenPDF (fork LGPL do iText 5) API Asaas JavaMailSender (SMTP) · API Brevo HTML5 · CSS3 · JavaScript (Vanilla) Chart.js Maven (com Maven Wrapper)
Ver repositório

Outros repositórios

Projetos pessoais e de estudo

Projetos com pesos diferentes de propósito: alguns são produtos pessoais reais, outros são estudos e experimentos deliberadamente menores.

Projeto pessoal

meu-bot-telegram

Bot de Telegram para venda e gestão de assinaturas de planos.

Integra com meu_painel_web

Bot construído com python-telegram-bot que apresenta planos consultados de uma API externa, recebe comprovantes de pagamento enviados pelos usuários, envia esses comprovantes por e-mail (SMTP) para conferência e usa tarefas agendadas (APScheduler) para rotinas recorrentes. Roda como aplicação Flask, o que permite expor endpoints/webhook junto ao bot.

  • Consulta de planos disponíveis via API externa e apresentação em botões inline
  • Recebimento e encaminhamento por e-mail de comprovantes de pagamento enviados no chat
  • Agendamento de tarefas recorrentes com APScheduler
  • Integração direta com a API do painel administrativo (meu_painel_web)
Python python-telegram-bot Flask APScheduler SMTP
Ver repositório
Projeto pessoal

meu_painel_web

Painel administrativo web para o bot de assinaturas.

Integra com meu-bot-telegram

Aplicação Flask com login por sessão que expõe um dashboard com métricas de usuários e assinaturas ativas, histórico de assinaturas e CRUD de planos, persistindo os dados em SQLite. Funciona como a contraparte administrativa do meu-bot-telegram, consumida por ele via API.

  • Login de administrador protegido por sessão
  • Dashboard com total de usuários ativos, assinaturas ativas e novas assinaturas nos últimos 7 dias
  • Histórico de assinaturas e gestão de planos (criar/editar)
  • Persistência em SQLite com migrações simples feitas em código (adição incremental de colunas)
Python Flask SQLite Jinja2
Ver repositório
Estudo

springboot4-jpa

Estudo de modelagem JPA/Hibernate com Spring Boot.

Projeto de estudo com domínio de e-commerce (usuários, produtos, categorias, pedidos, itens de pedido e pagamento), usado para exercitar relacionamentos JPA, chave composta (OrderItemPK), tratamento global de exceções e testes com H2/PostgreSQL.

  • Entidades com relacionamento many-to-many via chave composta (Order/Product → OrderItem)
  • Camada de tratamento de exceções (ResourceNotFoundException, DataBaseException)
  • Perfis de banco separados para teste (H2) e produção (PostgreSQL)
Java 21 Spring Boot 4 Spring Data JPA H2 PostgreSQL
Ver repositório
Experimento

chess-system-java

Estrutura inicial de um jogo de xadrez em Java puro.

Estágio inicial de um motor de xadrez em Java, ainda concentrado nas estruturas de dados fundamentais do tabuleiro — sem interface de usuário ou regras de movimento completas até o momento.

Em estágio inicial — estruturas de tabuleiro implementadas, regras de movimento ainda em construção.

  • Modelagem de Board, Piece e Position como fundação do domínio do jogo
  • Programa de entrada (Program.java) para evolução incremental das regras
Java
Ver repositório

GitHub

Código aberto, direto da fonte

Dados públicos consultados diretamente da API do GitHub, com um retrato estático como reserva caso a API esteja indisponível.

@Rodrigo-jrr
API indisponível — mostrando instantâneo salvo em 2026-07-23

8

Repositórios públicos

24 de mai. de 2025

No GitHub desde

1

Seguidores

Distribuição de linguagens por repositório

Java37% · 3 repo(s)
JavaScript34% · 1 repo(s)
HTML15% · 3 repo(s)
Python8% · 2 repo(s)
CSS6% · 1 repo(s)

Formação

Formação acadêmica

Conforme registrado publicamente no LinkedIn.

Engenharia de Software

UniBras Centro Universitário

janeiro de 2026 — dezembro de 2028 Em andamento

Listado no LinkedIn como "Ensino Médio, Software Engineering Student".

Contato

Aberto a novas oportunidades como desenvolvedor.

Para propostas profissionais, projetos ou contato relacionado a sistemas ERP, SQL, Java ou Angular, os canais abaixo estão à disposição.