public class PauloUchoa extends Developer {
String role = "Full-Stack Developer (Java + Angular)";
String location = "SΓ£o Paulo, SP π§π·";
String[] focus = { "RESTful APIs", "Full-Stack Web Apps", "Event-Driven / Messaging" };
String[] learning = { "Cloud (AWS/GCP)", "Docker & Kubernetes", "DevOps" };
@Override
public String toString() {
return "Passionate about clean code and solving real problems.";
}
}A full-stack app to organize personal finances: accounts, categories, transactions, monthly budgets and visual reports.
- What it does: JWT authentication (register/login), CRUD for accounts and categories, income/expense entries with filters and pagination, per-category budgets tracking spent vs. limit, and income Γ expense reports with a per-category chart.
- Backend: Java 17 Β· Spring Boot 3 Β· Spring Security (JWT) Β· JPA/Hibernate Β· PostgreSQL Β· Flyway Β· OpenAPI/Swagger
- Frontend: Angular Β· TypeScript Β· RxJS + Signals
- Engineering: automated tests (JUnit 5, Mockito, Testcontainers), Docker Compose (database + API + web) and GitHub Actions CI
π View repository Β»
A security-focused authentication service: tokens live in HttpOnly cookies (never exposed to JavaScript), not localStorage.
- What it does: short-lived JWT access token + rotating refresh token with reuse detection β replaying a stolen token revokes the whole token family. Plus CSRF double-submit, brute-force lockout, Argon2id hashing, security headers and an audit trail.
- Backend: Java 17 Β· Spring Boot 3 Β· Spring Security 6 Β· JWT Β· Argon2id Β· PostgreSQL Β· Flyway
- Frontend: Angular 21 (cookie flow, CSRF + transparent token-refresh interceptors)
- Engineering: unit, MockMvc and Testcontainers tests; Docker Compose and GitHub Actions CI
π View repository Β»
An asynchronous notification service built around RabbitMQ. A REST API accepts requests and delivers them in the background through per-channel workers (email, SMS, push).
- What it does: per-channel routing, retries with exponential backoff, a dead-letter queue for exhausted messages, idempotent consumers, and full delivery-status tracking (
PENDING β SENT / FAILED / DEAD). - Stack: Java 17 Β· Spring Boot 3 Β· RabbitMQ / Spring AMQP Β· PostgreSQL Β· Flyway Β· OpenAPI/Swagger
- Engineering: integration tests with Testcontainers (real RabbitMQ + Postgres), Docker Compose and GitHub Actions CI
π View repository Β»
A REST API for managing car dealerships, with role-based access (admin, owner, manager, assistant) and automatic assignment of sales opportunities based on assistant workload.
- Stack: Java 17 Β· Spring Boot 3 Β· Spring Security (JWT) Β· JPA/Hibernate Β· Swagger Β· Docker
- Highlights: layered permission checks (
@PreAuthorize+ business rules) and a fair lead-distribution algorithm
π View repository Β»
π¨ Building full-stack apps with Spring Boot & Angular
π¨ Exploring event-driven systems with RabbitMQ
π§ͺ Writing well-tested code (JUnit, Mockito, Testcontainers)
π± Studying cloud & containerization (Docker, AWS)