A robust, over-engineered "Hello World" Go application demonstrating:
- DDD, CQRS, and event sourcing
- Redis and file-backed event bus
- Plugin system (ASCII, TTS, LED, etc)
- Prometheus & OpenTelemetry observability
- Property-based and integration tests
- Automated test reporting and coverage
# Run all tests with coverage and generate a timestamped report folder
test_reports/YYYY-MM-DDTHH-MM-SS/
./run_tests.sh
- Unit, integration, and property-based tests
- Detailed coverage report in each test run folder
- Property-based tests for:
- Event sourcing (file store)
- Plugins
- API roundtrip
- Redis event bus (if REDIS_ADDR set)
./run_tests.sh
- Open the generated HTML report, e.g.:
xdg-open test_reports/YYYY-MM-DDTHH-MM-SS/coverage.html
If using GitHub Actions, add this to your README:


(Replace <your-username>
with your GitHub username)
See BENCHMARK.md for the latest load test results using k6.
- OVERENGINEERING_ARTICLE.md: Satirical deep-dive on overengineering.
- BENCHMARK.md: Performance and load test results.
- CONTRIBUTING.md: How to contribute, code style, PR guidelines.
- CODE_OF_CONDUCT.md: Community standards and behavior.
- SECURITY.md: How to report vulnerabilities.
- SUPPORT.md: Where and how to get help.
- LICENSE: Project license.
- Uses gopter for hypothesis-style tests.
- See
tests/integration/property_test.go
,property_redis_test.go
,property_file_event_store_test.go
.
- All test runs output to
test_reports/<timestamp>/
:report.json
: Full JSON test logcoverage.out
: Go coverage profilecoverage.html
: Visual HTML coverage report
- Recommended: Add a GitHub Actions workflow for Go tests and coverage.
- Artifacts can be uploaded for each run.
- Add new property-based or integration tests in
tests/integration/
. - Extend the plugin system or event store, and verify with new properties!
- See inline comments and test files for usage and extension examples.
- For questions, open an issue or PR!
- Feature-complete, robustly tested, and ready for extension or production demo!