Module 6: Final Project

Learning Objectives

  • Apply the complete AI-assisted development workflow end-to-end

  • Demonstrate TDD/BDD discipline with CI/CD evidence

  • Build professional documentation with Sphinx and GitHub Pages

  • Deliver a complete, tested, documented, and deployable kata project

Overview

The final project brings together everything from Modules 1–5. You will complete your coding kata using all AI agents, with full TDD discipline, CI/CD pipelines, and professional documentation.

Project Requirements

⚠️ PR Reviews: During the project phase, do NOT request instructor review on every story PR. Merge your own story PRs as you go. Only add the instructor as reviewer on your final Module 6 PR when everything is complete and ready for grading.

1. Complete All User Stories

Use your AI agents to implement all remaining kata user stories.

IMPORTANT: Before starting, fix your requirements-agent to enforce localhost Docker deployment and regenerate all INFRA scenarios.

Follow the implementation order for each story: INFRA → BE → FE → E2E

2. TDD Discipline with CI/CD Evidence

  • Practice RED → GREEN → REFACTOR cycles

  • Commit on every GREEN stage — CI/CD must show this evidence

  • Each commit references the Story/Scenario ID

  • CI/CD pipeline triggers on every push with passing tests

3. Organize Documentation

Move your architecture/ folder under docs/ (if not already there):

docs/
├── architecture/     # All arc42 chapters + diagrams
└── user-stories/     # Story inventory + all bundles

4. Sphinx Documentation Site

Build a static documentation site that includes:

  • Project README

  • Architecture documentation (all arc42 chapters)

  • User Stories (inventory + all story bundles)

Starter files are provided in modules/module-6-project/starter/. Copy them to your docs/ folder and customize:

cp -r modules/module-6-project/starter/* docs/

Then edit docs/conf.py (project name, author, GitHub URL) and docs/index.rst (add your architecture chapters and user story files).

See modules/module-6-project/starter/README.md for detailed setup instructions.

Optional: Create a Sphinx agent (.kiro/agents/sphinx-agent.json) to help you maintain the documentation site.

5. Documentation CI/CD Pipeline

A starter workflow is provided at modules/module-6-project/starter/docs-deploy.yml.

mkdir -p .github/workflows
cp modules/module-6-project/starter/docs-deploy.yml .github/workflows/

Then enable GitHub Pages:

gh api repos/{owner}/{repo}/pages -X PUT -f build_type=workflow

Or manually: Settings → Pages → Source → GitHub Actions.

The workflow triggers on README.md and docs/** changes, builds the Sphinx site, and deploys to GitHub Pages.

6. Professional README

Once all stories are implemented and tests pass, create a root README.md:

  • Project title and description

  • What the kata solves

  • Tech stack and architecture overview

  • How to build and run locally (docker build + docker run)

  • How to run tests

  • Link to live Sphinx documentation site

  • Project structure overview

  • Author information

7. License

Add a LICENSE file (MIT recommended) to the repository root.

Timeline

Day

Activity

Mon 20.4.

Project consultation (not mandatory)

Wed 22.4.

Project consultation (not mandatory)

Fri 24.4.

Project presentations (mandatory)

Grading (45 pts)

Criterion

Points

Kata is functional (docker build && docker run)

15

All user stories implemented (tests GREEN)

10

TDD discipline visible in CI/CD history

10

Sphinx documentation site on GitHub Pages

5

Professional README + LICENSE

5

Deliverables

  • PR with all implemented user stories

  • Kata functional: docker build && docker run

  • CI/CD pipeline showing TDD commit history

  • Live Sphinx documentation site

  • Documentation CI/CD workflow deploying to GitHub Pages

  • Professional README + LICENSE

Exercise Checklist

Module 6: Final Project — Exercise Checklist

Part 1: Fix Requirements and Complete Stories

Step 1: Update Requirements Agent

  • Updated requirements-agent.json to enforce Docker deployment

  • INFRA stories reference Docker containers (not Lambda/DynamoDB)

  • Regenerated all INFRA scenarios with updated agent

Step 2: Implement All User Stories

  • For each story, followed INFRA → BE → FE → E2E order

  • Each scenario has RED → GREEN → REFACTOR cycle

  • Committed on every GREEN stage with Story/Scenario ID reference

  • All E2E scenarios pass

  • All BE scenarios pass

  • All FE scenarios pass (if applicable)

  • All INFRA scenarios pass

  • Kata is functional: docker build && docker run works


Part 2: CI/CD Evidence

  • CI/CD pipeline triggers on every push

  • Pipeline history shows incremental GREEN commits

  • No commits with failing tests in history

  • Test names include Story/Scenario IDs

  • All tests have GIVEN-WHEN-THEN comments


Part 3: Documentation

Step 1: Organize Docs

  • docs/architecture/ contains all arc42 chapters

  • docs/user-stories/ contains all story bundles

  • docs/user-stories/README.md has story inventory

Step 2: Build Sphinx Documentation Site

  • Copied starter files to docs/: cp -r modules/module-6-project/starter/* docs/

  • Updated docs/conf.py with project name, author, GitHub URL

  • Updated docs/index.rst with architecture chapters and user story files

  • Installed dependencies: pip install -r docs/requirements.txt

  • Sphinx site builds locally without errors: cd docs && make html

  • (Optional) Sphinx agent created at .kiro/agents/sphinx-agent.json

Step 3: Documentation CI/CD

  • Copied workflow: mkdir -p .github/workflows && cp modules/module-6-project/starter/docs-deploy.yml .github/workflows/

  • Enabled GitHub Pages: gh api repos/{owner}/{repo}/pages -X PUT -f build_type=workflow (or Settings → Pages → Source → GitHub Actions)

  • Triggers on changes to README.md and docs/**

  • Builds Sphinx site and deploys to GitHub Pages

  • Documentation site is live at https://<username>.github.io/<repo>/


Part 4: Polish

Step 1: Professional README

  • Project title and description

  • What the kata solves

  • Tech stack and architecture overview

  • How to build and run locally

  • How to run tests

  • Link to Sphinx documentation site

  • Project structure overview

  • Author information

Step 2: License

  • LICENSE file at repository root (MIT recommended)


Part 5: Create Pull Request

  • PR title must include Module 6 (e.g. #14 [FEAT] Module 6: Final project)

  • PR body has Closes #N linking the project issue

  • Instructor added as reviewer (gh pr edit --add-reviewer momokrunic)