A modern issue tracking application built with Blazor and MongoDB, featuring comprehensive unit and integration testing with Docker-based test isolation.
# Clone the repository
git clone https://github.com/mpaulosky/IssueTracker.git
cd IssueTracker
# Restore dependencies
dotnet restore
# Run the application
dotnet run --project src/AppHost/AppHost.csproj
```text
## 📖 Documentation
For detailed documentation, architecture guides, and comprehensive references, visit our **[documentation site](https://mpaulosky.github.io/IssueTracker/)**.
- [Getting Started Guide](docs/getting-started.md)
- [Architecture Overview](docs/architecture.md)
- [Testing Guide](docs/testing.md)
- [Contributing Guide](docs/CONTRIBUTING.md)
- [Code Metrics](docs/CODE_METRICS.md)
## 🛠️ Tech Stack
- **.NET 10** - Modern C# framework
- **Blazor Server** - Interactive web UI
- **MongoDB** - Document database
- **Docker** - Containerization and test isolation
- **xUnit & bUnit** - Comprehensive testing
## 🤝 Contributing
Contributions are welcome! Please read our [Contributing Guide](docs/CONTRIBUTING.md) and [Code of Conduct](docs/CODE_OF_CONDUCT.md) before submitting pull requests.
After cloning, turn on the repository's git hooks once. They lint staged Markdown on commit and run `scripts/gate.sh` (lint, build and tests) on push:
```bash
git config core.hooksPath .github/hooksThis project is licensed under the MIT License - see the LICENSE file for details.
For security concerns, please review our Security Policy.
| Version | Date | Title | Blog post |
|---|---|---|---|
| v0.0.22 | 2026-09-30 | ci(release): List again every 2s, for up to 30s | Post |
| v0.0.21 | 2026-09-30 | fix(release): Wait for a just-published Release to be listed | Post |
| v0.0.20 | 2026-09-30 | ci: Classify a PR's changed files in a tested script | Post |
| v0.0.19 | 2026-09-30 | test(hooks): Test uppercase slugs apart from the chore/ digit rule | Post |
| v0.0.18 | 2026-09-30 | fix(release): Skip a named PR merged elsewhere; mark a published draft | Post |
| v0.0.17 | 2026-09-30 | ci(hooks): Adopt the shared branch-name standard | Post |
| v0.0.16 | 2026-09-30 | test(hooks): Fail the rename case when git reports no rename | Post |
| v0.0.15 | 2026-09-30 | ci: Drop the unused build-artifact cache | Post |
| v0.0.14 | 2026-09-30 | ci: Skip the build and tests on docs-only PRs | Post |
| v0.0.13 | 2026-09-30 | ci(release): Release merged PRs one at a time, in merge order | Post |