Welcome to my Java Backend Lab repository. This repository documents my practical journey in mastering Java and backend engineering from the ground up, starting from foundational syntax and core logic to building robust APIs, persistence layers, and microservices.
- Build clean, maintainable, and idiomatic Java applications.
- Master core programming concepts without relying prematurely on heavy abstractions or frameworks.
- Develop a structured, production-ready portfolio following industry standards and best practices:
- Naming conventions: PascalCase for classes, camelCase for methods/variables, lowercase for packages, and kebab-case for repository/project folders.
- English-only code: Variables, methods, documentation, commit messages, and CLI interfaces written in English.
- Conventional Commits: Clear, semantic commit history (e.g., feat, fix, refactor, docs).
- Primitives, relational/logical operators, control flow (if/else, switch), loops (while, for).
- Interactive CLI programs using Scanner, input validation, and clean console formatting.
- Resource management and proper stream closing.
- Encapsulation, inheritance, polymorphism, interfaces, and abstract classes.
- Java Collections Framework (List, Set, Map) and Exception Handling.
- Relational databases (PostgreSQL), JDBC, JPA/Hibernate.
- RESTful API design, HTTP protocols, and layered architecture.
- Spring Boot, Spring Security, automated testing (JUnit, Mockito).
- Docker, CI/CD pipelines, and cloud deployment.
| Project | Description | Core Concepts |
|---|---|---|
| Tally Counter | Interactive terminal counter with increment, decrement, reset, and quit controls. | Primitive types (int), while loop, if/else branching, Scanner input handling |
| BMI Calculator | CLI tool that calculates Body Mass Index, validates user inputs, and displays WHO weight status categories. | Input validation (hasNextDouble/hasNextInt), Locale management (Locale.US), formatted output (printf), conditional logic (if/else), resource management (close) |
| Parity and Sign Checker | CLI tool that analyzes an integer to determine its parity (even/odd) and sign (positive, negative, or neutral zero). | Modulo operator (%), comparison operators, nested/chained conditional logic (if/else if/else), input validation (hasNextInt), resource management (close) |
- Language: Java 17+ / 21 LTS
- Build Tool: Maven / Gradle
- IDE: IntelliJ IDEA
- Version Control: Git & GitHub (Conventional Commits)
Developed by Narah Souza (GitHub Profile).