A catalog of project templates organized by two independent dimensions: system (the application) and system-test (the test harness). Each template is self-contained and copy-paste-ready.
graph LR
User -->|UI / API| Monolith
Monolith -->|REST| ERP
Monolith -->|REST| Clock
graph LR
User -->|UI| Frontend
User -->|API| Backend
Frontend -->|REST| Backend
Backend -->|REST| ERP
Backend -->|REST| Clock
graph LR
Customer([Customer])
ERP([ERP])
Clock([Clock])
Customer --> PlaceOrder(Place Order)
Customer --> ViewOrder(View Order)
Customer --> BrowseOrders(Browse Orders)
Customer --> CancelOrder(Cancel Order)
PlaceOrder --> ERP
PlaceOrder --> Clock
Pick based on your architecture and language:
| Language | Directory | Framework | Port | SonarCloud |
|---|---|---|---|---|
| Java | system/monolith/java/ |
Spring Boot + Thymeleaf (SSR) | 8080 | starter-monolith-java |
| .NET | system/monolith/dotnet/ |
ASP.NET Core Razor Pages | 8080 | starter-monolith-dotnet |
| TypeScript | system/monolith/typescript/ |
Next.js (SSR) | 3000 | starter-monolith-typescript |
| Language | Directory | Framework | Port | SonarCloud |
|---|---|---|---|---|
| TypeScript | system/multitier/frontend-react/ |
React + Nginx | 8080 | starter-multitier-frontend-react |
| Language | Directory | Framework | Port | SonarCloud |
|---|---|---|---|---|
| Java | system/multitier/backend-java/ |
Spring Boot API | 8081 | starter-multitier-backend-java |
| .NET | system/multitier/backend-dotnet/ |
ASP.NET Core API | 8081 | starter-multitier-backend-dotnet |
| TypeScript | system/multitier/backend-typescript/ |
NestJS API | 8081 | starter-multitier-backend-typescript |
Pick based on your preferred test language (independent of system language):
| Language | Directory | Framework |
|---|---|---|
| Java | system-test/java/ |
JUnit 5 + Playwright |
| .NET | system-test/dotnet/ |
xUnit + Playwright |
| TypeScript | system-test/typescript/ |
Jest + Playwright |
Each system-test includes docker-compose files for both architectures in local and pipeline variants (e.g. docker-compose.local.monolith.real.yml, docker-compose.pipeline.multitier.stub.yml). Remove the files for the architecture you don't need.
The .github/workflows/ directory contains runnable pipelines for all 6 matched-language combinations (system + system-test):
- Commit stages trigger automatically on push via path filters
- Acceptance/QA/Prod stages are workflow_dispatch (manual trigger)
verify-all — runs the full pipeline on the starter repo's own templates: