
Module 12 Capstone Part 1: Architecture and Setup
The Final Test begins. In this Capstone Project, you will build a complex multi-repo system from scratch. Part 1 covers repository architecture, organization, and submodule integration.
Module 12 Capstone Part 1: Architecture and Setup
Welcome to the Capstone Project. This is where we stop following instructions and start building. Over the next four lessons, you will simulate a high-stakes engineering project for a fictional company, GitFlow Corp.
Your Goal
Build a scalable "Modern Web App" system that uses a shared UI library.
Phase 1: Repository Architecture
- Create the Library: Create a local folder
git-ui-lib. Initialize it as a Git repository. - Add Content: Create a file
button-styles.csswith some dummy content. - Commit with Standards: Use a professional commit message:
feat: Initial commit for UI Library component. - The Label: Create an annotated tag
v0.1.0-alpha.
Phase 2: The Parent Project
- Create the App: Create a second local folder
git-web-app. Initialize it. - Integration: Add your
git-ui-libas a Submodule into a folder namedvendor/ui. (Note: You can use the local path instead of a URL for this project:git submodule add ../git-ui-lib vendor/ui). - Configuration: Verify that the
.gitmodulesfile exists and correctly tracks your library. - Initial Setup: Create an
index.htmlfile that links to the CSS file inside the submodule. - Commit: Stage and commit the submodule addition and the main file.
graph TD
App["git-web-app (Parent)"]
Lib["git-ui-lib (Repo)"]
App -- "git submodule add" --> Sub["vendor/ui (Folder)"]
Lib -- "Source Code" --> Sub
Capstone Progress Check
By the end of Part 1, you should have:
- Two independent Git repositories.
- One repository nested inside the other as a submodule.
- Professional commit history and version tagging.
Status: Architecture complete. Ready for development.
Next Part: Capstone Part 2: Feature Development and Review. We’ll add new functionality using professional team workflows.