This repository is dedicated to my journey of learning Java programming fundamentals, Object-Oriented Programming (OOP), and Spring Boot for building robust backend applications.
-
✅ Java Fundamentals
- Variables, Data Types, Control Flow
- Functions, Arrays, Collections
- Exception Handling
-
✅ Object-Oriented Programming (OOP)
- Classes & Objects
- Inheritance, Polymorphism
- Abstraction, Encapsulation
-
🔜 Spring Boot
- Setting up REST APIs
- Project Architecture (Controller, Service, Repository layers)
-
🔜 Database Integration
- PostgreSQL (Hosted on Neon)
- Database schema and migrations using Flyway or Liquibase
-
🔜 CRUD Operations
- Building API endpoints
- Performing Create, Read, Update, Delete operations
-
🔜 API Testing
- Using Postman or cURL for endpoint testing
-
🔜 Advanced Features
- Pagination & Filtering
- Authentication (Optional)
- Clean Code & Best Practices
taskreminder/
├── src/
│ ├── main/
│ │ ├── java/ # All Java code
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── taskreminder/
│ │ │ ├── TaskReminderApplication.java # Main class
│ │ │ ├── config/ # Configuration classes
│ │ │ ├── controller/ # REST controllers
│ │ │ ├── model/ # Entities (JPA)
│ │ │ ├── repository/ # JPA repositories
│ │ │ ├── service/ # Business logic
│ │ │ └── dto/ # Data Transfer Objects
│ │ │
│ │ └── resources/ # Non-Java resources
│ │ ├── static/ # CSS/JS/images
│ │ ├── templates/ # Thymeleaf/HTML
│ │ ├── application.properties # Config
│ │ └── db/
│ │ └── migration/ # Flyway migrations (V1__Create_table.sql)
│ │
│ └── test/ # Test code (same structure as main/java)
│
├── target/ # Generated files (auto-created by Maven)
├── pom.xml # Maven config
└── HELP.md
- Java Programming and Software Engineering Fundamentals
- Java Programming Basics
- Spring Boot Documentation
- PostgreSQL Documentation
- Flyway Documentation
- Liquibase Documentation
- Java 17 (or latest LTS version)
- Spring Boot 3.x
- PostgreSQL (Hosted on Neon)
- Maven or Gradle for dependency management
- Postman for API testing
- Java Basics
- OOP Concepts
- Spring Boot Setup
- Database Connection
- CRUD Features
- API Testing
- Deployment (Optional)