Add Chapter 11: Application Development - Layered Architecture #798
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds final bootcamp chapter teaching layered architecture (Martin Fowler pattern) through contrasting Flask implementations demonstrating tight coupling vs separation of concerns.
Documentation
Examples
Example 1: Tightly Coupled
Single-file Flask app mixing presentation, business logic, and data access:
Example 2: Layered Architecture
Separation into presentation/services/data layers with repository pattern:
Exercise: Swap from in-memory to SQLite storage. Example 1 requires editing route handlers; Example 2 requires changing one import statement.
Incidental
Original prompt
This section details on the original issue you should resolve
<issue_title>Add final chapter 'Application Development' — Section: 'Layers' (Layered Architecture examples & exercises)</issue_title>
<issue_description>Context
This repository hosts the DevOps Bootcamp curriculum. We need a new final chapter titled "Application Development" containing a section called "Layers" that teaches layered architecture (Martin Fowler pattern) for bootcamp participants learning software design principles.
Problem
There is no chapter or section that teaches layered architecture with practical, runnable examples demonstrating the difference between tightly coupled code and well-separated layers. Participants need a simple, hands-on exercise showing how to refactor a tightly coupled app into presentation, business logic, and data access layers and why it's beneficial.
Proposed Technical Approach (authoritative guidance)
Summary
Tech stack (recommended)
High-level folder structures
Example 1 — tightly coupled (single file)
Example 2 — layered (package)
Implementation steps — deliverables to create
example1/requirements.txt
example1/app.py (single-file app — minimal)
example2/requirements.txt
example2/run.py