Skip to content

feat(learning): add flagship roadmap "Deploy a resilient three-tier app" (en/fr)#70

Merged
OthmaneZ05 merged 1 commit into
mainfrom
feat/learning-flagship-roadmap
Jul 17, 2026
Merged

feat(learning): add flagship roadmap "Deploy a resilient three-tier app" (en/fr)#70
OthmaneZ05 merged 1 commit into
mainfrom
feat/learning-flagship-roadmap

Conversation

@OthmaneZ05

Copy link
Copy Markdown
Collaborator

Summary of Changes

Adds the first full-length guided roadmap to the catalog: “Deploy a resilient three-tier app” (roadmaps/resilient-three-tier.json, English reference) and its French translation (roadmaps/resilient-three-tier.fr.json, same roadmap id and step ids so progression carries across languages).

Over 10 steps (~40 min, intermediate), the learner builds and operates a classic three-tier architecture against real containers: a web server backed by a seeded PostgreSQL, a hand-built second replica, an nginx load balancer as single entry point, a least-privilege lockdown of the database (with a deliberate validate-first failure to read), a chaos drill (stop a server while validating through the LB), and an auto-scaling group deployed from a golden image whose clones boot already serving. It exercises 7 of the 9 validator types (container_running, table_exists, edge_exists, http_get_contains, lb_upstreams, port_denied, asg_replicas). Every step ships 2–3 graded hints plus a literal copy-paste solution.

Content only — no engine, schema, or frontend changes.

Types of Changes

  • New feature / node type addition
  • Bug fix (non-breaking change resolving an issue)
  • Refactoring / structural cleanup
  • Documentation update

Verification & Testing

Automated Checks

  • Run npm run lint successfully with no errors
  • Run npm run build successfully with no compilation errors
  • Run npm test successfully (all tests pass)

Manual Verification

  • npm run roadmap:validate passes on both files; both appear in the player catalog with language, difficulty, step-count and duration badges.
  • Played end to end against real Docker: every step observed failing in its naive state, then passing after the instructed action (validators exercised through POST /api/learning/validate with the exact network-config mutations the canvas UI produces).
  • Real-traffic counter-checks: after the lockdown step, a TCP attempt from the load balancer to db:5432 is actually refused while the store keeps serving; during the chaos drill nginx fails over to the surviving server; ASG clones serve on boot from the committed golden image.
  • Player UI checked with a headless browser: localhost link appears on the expected steps, hint ladder and two-click solution reveal work, backend kill & restart mid-roadmap resumes on the right step with checkmarks restored, and switching EN→FR mid-roadmap keeps the progression.

Checklist

  • My code follows the repository's code style and lint standards
  • I have updated the documentation or instructions if necessary
  • All unit and integration tests are passing

@OthmaneZ05
OthmaneZ05 requested a review from Derssa as a code owner July 17, 2026 03:43
@OthmaneZ05
OthmaneZ05 merged commit b25dd3f into main Jul 17, 2026
2 checks passed
@OthmaneZ05
OthmaneZ05 deleted the feat/learning-flagship-roadmap branch July 17, 2026 04:26
OthmaneZ05 added a commit that referenced this pull request Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant