IFCD0021-1-25 Product Backlog

ifcd0021
backlog

Backlog course

Backlog course

Product Backlog by Month

September 2025

September 2025
Backlog course September 2025 table
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
- Pet Projecct: UML & data model
- 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

- static vs. non-static
++ SCRUM: intro
- Maven Create Project
- Git
- Git & gh basic commands
- Repo rentingCar
02 05 22/09/2025 - Planning Sprint#02
- Linux: basics
- 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) UI: cli interaction
(3) Class Repository: HashMap vs. List
(4) Main Loop: scanner
(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
09 29/09/2025 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

- Time data in Java: object, string or long epoch

- 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


by Sonia
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
Backlog course October 2025 table
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) Class @Service: CarService & ClientService
(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: 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

- Git: fork and sync
- 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

- JUnit: asserts
++ 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) Booking updates availability, last step
(6) checkAvailability
(7) @ElementCollection for Map

- JUnit: asserts

- 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) Listing Boooking/Car
(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

- Git: clone, fork and pull request
- 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) Listing Boooking/Car
(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
Backlog course November 2025 table
Sprint Day Date Topics Details Topics
Back to top