Backend Developer — Java & Spring Boot
Focused on REST API design, authentication, relational databases, and clean backend architecture.
- Backend development with Java and Spring Boot
- Designing REST APIs with authentication and relational data models
- Working with Spring Security, JWT, and MySQL
- Focused on maintainable service design and clear API contracts
Backend developer focused on building REST APIs using Java and Spring Boot, with an emphasis on authentication, relational data modeling, and maintainable service design. I focus on building well-structured REST APIs, with attention to security, data integrity, and code that's easy to maintain and extend. Interested in authentication patterns, relational data modeling, and API design.
- Building REST APIs following HTTP conventions: resource structure, status codes, error contracts, and versioning
- Implementing authentication and authorization using Spring Security, JWT, and role-based access control
- Working with Spring Data JPA and MySQL: schema design, relationships, transactions, and query control
- Applying layered architecture with clear separation between controllers, services, and repositories
- Writing unit and integration tests with JUnit 5, Mockito, and MockMvc
- Documenting APIs with OpenAPI/Swagger via Springdoc
- Managing builds and dependencies with Maven
Authentication and user management API built with Java 17 and Spring Boot 3.
- Stateless JWT authentication with Spring Security
- Role-based access control with
ROLE_USERandROLE_ADMIN - Input validation, global exception handling, and structured error responses
- Unit and integration tests covering auth and security behavior
- API documented with Swagger/OpenAPI
Currency conversion API that consumes an external exchange-rate provider.
- Spring Boot 3 and Spring Web MVC
- In-memory caching with configurable freshness TTL (300s) and stale fallback window (3600s)
- Separate cache for the currency list with a 24h TTL
- Input validation and structured error handling
- Includes a React/Vite frontend that consumes the backend API
Task and incident management API with CRUD operations and MySQL persistence.
- User and task management with relational integrity enforced at the service layer
- Filtering tasks by status and assigned user
- Jakarta Bean Validation on request DTOs with consistent JSON error responses
- API documented with Swagger/OpenAPI
- Service and controller tests with JUnit 5 and MockMvc