IFCD0021-1-25 Product Backlog
ifcd0021
backlog
Product Backlog by Month
September 2025
September 2025
| Sprint | Day | Date | Topics | Details Topics |
|---|---|---|---|---|
| 01 | 01 | 15/09/2025 | - Kick-off Java FullStack 2025: (1) albertprofe.dev (2) What is a roadmap and why is so important? (3) Planning #11 weeks course - Architecture: Request-Response Cycle |
- Request-Response Cycle - Developer 2025 - MOOC Helsinki - Unveiling the Technological Marvels behind Netflix’s Seamless Experience |
| 02 | 16/09/2025 | - Contact: albertprofe@gmail.com - Lateralization: learning - Spring Boot: intro - - Vocabulary: API, Framework, etc.. - Tech Stack - Git/gh |
- git basics - gh auth login - UML - Maven Create Project - Push to git - UML Mermaid |
|
| 03 | 18/09/2025 | - How to plan - Create a Spring Boot Project: debugg - MVC: how it works - Spring Boot as a Restaurant - Java SE: scope - Thymeleaf: what is a template engine |
- Spring Boot Create Project - Maven Create Project - Java Version Switch |
|
| 04 | 19/09/2029 | - Git: version control - Project Maven Renting Car: (0) Project in 4 steps: Project > DDD > UML > Code (1) UML: Booking has Car & Client (2) Maven Project (3) Entity classes (4) Execution flow Apache-Maven-quickstart - ++ SCRUM: intro |
- Maven Create Project - Git - Git & gh basic commands - Repo rentingCar |
|
| 02 | 05 | 22/09/2025 | - Planning Sprint#02 - - Java SE: static vs non-static - Project: rentingCar: (1) UML: class, execution flow, seq. diagram (2) booking object (3) docs |
- linux: Basics - UML Mermaid - Mermaid docs - static - UML - Repo rentingCar: da0e3f |
| 06 | 23/09/2025 | - Java: JUnit - Project: rentingCar: (1) UML, booking object (2) UI: cli interaction (3) Class Repository: HashMap vs. List (4) Main Loop: scanner (5) UML: model, data store, view, business logic ++ How to program: Project > DDD > UML > Code |
- JUnit and TDD - Repo rentingCar: c7c49c88 |
|
| 07 | 25/09/2025 | - Git ++ Java Classes, for what? Entities and model, object management, helpers and utilities - Project: rentingCar: (1) UML, booking object & myDataStore object (2) (3) (4) (5) ++ Fake Data DB populator ++ Time data in Java: object, string or long epoch |
- Coupling - Git - Git & gh basic commands - gh auth login - Repo rentingCar: ad580c5 - epoch ![]() |
|
| 08 | 26/09/2029 | - Project: rentingCar: (1) UML, booking object (2) UI: cli interaction (3) Class Repository: HashMap vs. List (4) Main Loop: scanner |
- UML Mermaid - UML - Repo rentingCar |
|
| Class postponed | ||||
| 03 | 09 | 30/09/2025 | - Project: rentingCar: (1) UML, booking object (2) UI: cli interaction (3) Class Manager: CarManager (4) Main Loop: scanner (5) UML: model, data store, view, business logic ++ How to team: A + B is A or B, almost never C; think and then code: develop, code and then think: sandbox; do not digress, be concrete |
- Repo rentingCar: 3144476 |
| 10 | 02/10/2025 | - Project: rentingCar: (1) UML, booking object & myDataStore object (2) UI: cli interaction (3) Class Manager: Car, Client and Booking (4) Main Loop: scanner, now Disptacher (5) Fake Data DB populator Client (6) Implement CreateBooking, draft Login (7) add field loggedClient, type Client to datastore - - What does it mean to be a programmer and not a coder? (1) Ask yourself every line: is t his core? do I know how to code it quickly? does it involves a lot of decision-making? (2) Do not overcomplicate the process - DDD: domain-driven design & coupling; keywords for rentingCar domains |
- Repo rentingCar: b7aa3539 - DDD and coupling ![]() |
|
| 11 | 03/10/2029 | - Project: rentingCar: (1) UML, booking object & myDataStore object (2) UI: cli interaction (3) Class Manager: Car, Client and Booking (4) Main Loop: scanner, now Disptacher (5) Fake Data DB populator Client (6) Implement CreateBooking (7) add field loggedClient, type Client to datastore (8) Impplement Login decoupled: LoginView, LoginValidate - SPA vs. Multi-page - Git: fork and sync - Retrospective |
- Repo rentingCar: d2d29d56 ![]() |
October 2025
October 2025
| Sprint | Day | Date | Topics | Details Topics |
|---|---|---|---|---|
| 04 | 12 | 06/10//2025 | - Plan Sprint#04 - Project: rentingCar-Boot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) (4) Class @Controller: Thymeleaf and Api Rest (5) Repository: JPA & H2 DB (6) POM and dependencies (7) Root project ++ Microservices vs. Monolith |
- Repo rentingCar-Boot: 2a29d27 - Spring Boot create |
| 13 | 07/10/2025 | - Request/Response Cycle: mapping - Project: rentingCarBoot: (1) UML, Car & Client object, CarExtras (2) UI: no UI, just JUnit tests (3) Class @Service: CarService & ClientService (4) Class @Controller: Thymeleaf and Api Rest (5) Repository: JPA & H2 DB (6) Create local H2 db ++ JPA: @oneToMany and @MenyToOne |
- Repo rentingCar-Boot: eb3217d0 - JPA: relationships - JPA vs Hibernate |
|
| 14 | 09/10/2025 | - Project: rentingCarBoot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Class @Service: CarService & ClientService (4) JPA: Java Persistence Api (5) Repository: JPA & H2 DB (6) Create local H2 db |
- Repo rentingCar-Boot: ab214ca - DDD and coupling |
|
| 15 | 10/15/2025 | - Project: rentingCarBoot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Class @Service: CarService & ClientService (4) CJPA: Java Persistence Api (5) Repository: JPA & H2 DB (6) InsuranceCia n:1 with Car - SPA vs. Multi-page - Managing time in Java: epoch, object, String |
- Repo rentingCar-Boot: a771773 ![]() |
|
| 05 | 16 | 13/10//2025 | - Plan Sprint#05 - Project: rentingCar-Boot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Repository: JPA & H2 DB (4) Many-To-Many: two approaches, bridge and @JoinTable (5) Booking domain (6) Implement @Booking as a bridge (7) LAZY & EAGER; @Transactioanl ++ TH: view for Cars with its entities |
- Repo rentingCar-Boot: 62b5c18 - Spring Boot create ![]() |
| 17 | 14/10/2025 | - Project: rentingCar-Boot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Repository: JPA & H2 DB (4) @ManyToMany (5) Booking domain: populate at /utils ++ Booking populate faker ++ @ElementCollection for List |
- Repo rentingCar-Boot: bf2f0dc - JPA: relationships |
|
| 18 | 16/10/2025 | - Project: rentingCarBoot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Booking feature: service draft (4) @ManyToMany: Unidirectional or bidirectional (5) Course @Entity @joinTable m:n with Booking (6) generateUUID to /utils ++ Populate DrivingCourse: nested loop with for and if-else is the best option? |
- Repo rentingCar-Boot: 463c84268 - DDD and coupling - JPA - Using @JoinTable - Library3: API Rest Library Book @ManyToMany @OneToOne CRUD with Swagger |
|
| 19 | 17/15/2025 | - Project: rentingCarBoot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Booking feature - Client <> Addreses: @ElementCollection - Populate DrivingCourse: nested loop with for and if-else is the best option? |
- Repo rentingCar-Boot: 355302 ![]() |
|
| 06 | 20 | 20/10//2025 | - Plan Sprint#06 - Why is so important having Context? Right/Left hemispheres, planning and decision-making - How to plan sandbox-projects: UNL, hours/week, very clear product-goal, roadmap projects 1-year - Project: rentingCar-Boot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Repository: JPA & H2 DB (4) Feature, car availability by date: data model and listing (5) Updating data-model: where and how - ++ HashMaps: intro - WebApp: APIs |
- Repo rentingCar-Boot: f6d8ad4 - Spring Boot create - APIs ![]() |
| 21 | 21/10/2025 | - Project: rentingCar-Boot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Repository: JPA & H2 DB (4) Feature: car availability by date: booking and updating availability (5) (6) checkAvailability (7) @ElementCollection for Map - - 4 approaches to available dstes for booking car: (1) List of BookingDates (2) HashMap of Integer/Boolean (3) List of unavailable Dates (4) Booking query ++ Wrappers and Containers ++ Implement feature: model and populate, checkAvailability, generateBooking, update Car Map |
- Repo rentingCar-Boot: 1e60887f - JPA: relationships |
|
| 22 | 23/10/2025 | - Project: rentingCar-Boot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Repository: JPA & H2 DB (4) (5) GenerateBooking - Implement feature: model and populate, checkAvailability, generateBooking, update Car Map ++ Orchestrator: GenerateBooking ++ testUnixTimestampAvailability_Fail ++ formatAvailabilityRanges - PRA#01, PRA#02, PRA#03: MF01, MF02, MF03 - |
- Repo rentingCar-Boot: 972a0f153 - DDD and coupling - PRA01-02-03 v3 ![]() |
|
| 23 | 24/10/2025 | - Project: rentingCar-Boot: (1) UML, Car & Client object (2) UI: no UI, just JUnit tests (3) Repository: JPA & H2 DB (4) (5) generateBooking: string Builder - Why API Rest is a standard de facto? ++ Why Agile projects? Metrics (learning, tools, mooc, ..), Management (Iteration), Mindset ++ Vocabulary: Container, Builder, Wrapper, Helper/Util, Pattern ++ Intro JPQL, JPA queries ++ Interface: intro |
- String Builder - JPA Queries - Soft lifeCycle |
November 2025
November 2025
| Sprint | Day | Date | Topics | Details Topics |
|---|---|---|---|---|














