Real-time developer analytics dashboard built with .NET 9 and Blazor Server
DevMetrics Pro is a comprehensive developer analytics platform that provides real-time insights into team productivity, code quality, and project health. It integrates with popular development tools to give you a unified view of your team's performance.
The dashboard will feature real-time metrics, interactive charts, and team leaderboards.
β Implemented:
- π Authentication - ASP.NET Core Identity with JWT
- π GitHub OAuth - Connect GitHub accounts securely
- π¦ Data Sync - Automatic sync of repos, commits, and PRs
- π Background Jobs - Hangfire for automated syncing
- π Metrics Calculation - Developer productivity metrics
- ποΈ Caching - Redis for performance optimization
- π Security - Rate limiting, CORS, security headers
- π Charts - Chart.js integration with JSInterop
π In Progress (Sprint 3 - 80% Complete!):
- β Interactive Charts - Commit activity line chart, PR statistics bar chart
- β Contribution Heatmap - GitHub-style activity visualization
- β Real-time Updates - SignalR for live dashboard updates
- β Team Leaderboards - Developer productivity rankings
- β Advanced Metrics - PR review time, code velocity analysis
- π Time Range Filters - Global dashboard filtering (next)
π Planned:
- π Multi-Platform - GitLab and Jira integration
- π Trend Analysis - Historical metrics tracking
- π― Sprint Metrics - Velocity and burndown charts
- π¨ Custom Dashboards - User-configurable layouts
- .NET 9 - Latest C# 12 features
- Blazor Server - Real-time interactive UI
- ASP.NET Core Identity - Authentication & authorization
- Entity Framework Core 9 - ORM with PostgreSQL
- SignalR - Real-time communication
- Hangfire - Background job processing
- PostgreSQL 16 - Primary database
- TimescaleDB - Time-series data optimization
- Redis 7 - Distributed caching
- MudBlazor - Material Design component library
- Chart.js - Interactive charts and visualizations
- JavaScript Interop - Blazor-JS integration
- SignalR - Real-time communication (planned)
- Docker - Containerization
- GitHub Actions - CI/CD pipeline
- Azure App Service - Hosting (planned)
This project follows Clean Architecture principles with clear separation of concerns:
βββββββββββββββββββββββββββββββββββββββ
β DevMetricsPro.Web β Presentation Layer
β (Blazor Server) β
βββββββββββββββββββββββββββββββββββββββ€
β DevMetricsPro.Infrastructure β External Services
β (Data, APIs, Background Jobs) β
βββββββββββββββββββββββββββββββββββββββ€
β DevMetricsPro.Application β Business Logic
β (Services, DTOs, Validators) β
βββββββββββββββββββββββββββββββββββββββ€
β DevMetricsPro.Core β Domain Layer
β (Entities, Interfaces) β
βββββββββββββββββββββββββββββββββββββββ
Benefits:
- β Testable and maintainable
- β Framework-independent business logic
- β Clear dependency direction (inward)
- β Easy to extend and modify
| Sprint | Status | Focus | Completion |
|---|---|---|---|
| Sprint 0 | β Complete | Environment setup, project structure | 100% |
| Sprint 1 | β Complete | Foundation, database, authentication | 100% |
| Sprint 2 | β Complete | GitHub integration, background jobs, metrics | 100% |
| Sprint 3 | π In Progress | Dashboard, charts, real-time features | 80% |
| Sprint 4 | π Planned | Production readiness, deployment | 0% |
Current Sprint: Sprint 3 - Real-time Dashboard & Analytics
Current Phase: Phase 3.9 - Time Range Filters (Next)
Last Update: December 2, 2025
# Clone the repository
git clone https://github.com/bartoszclapinski/DevMetricsPRO.git
cd DevMetricsPRO
# Start databases
docker-compose up -d
# Run migrations (once solution is created)
dotnet ef database update -p src/DevMetricsPro.Infrastructure -s src/DevMetricsPro.Web
# Run the application
dotnet run --project src/DevMetricsPro.Web
# Open browser
# https://localhost:5001Comprehensive documentation is available in the .ai/ folder:
- Getting Started - Quick start guide for developers
- Product Requirements - Complete PRD with technical specs
- Sprint Plans - Detailed implementation plans
- Design Prototype - UI/UX reference
- Cursor Rules - AI-assisted development guidelines
- Clean Architecture principles
- .NET 9 & C# 12 conventions
- Blazor best practices
- Database guidelines
- Testing standards
# Run all tests
dotnet test
# Run with coverage
dotnet test --collect:"XPlat Code Coverage"
# Run specific test project
dotnet test tests/DevMetricsPro.Application.TestsCoverage Goal: 80% minimum
Every push and pull request triggers automated checks:
- β Build verification
- β Unit & integration tests
- β Code quality analysis
- β Security scanning
- β Format verification
See .github/README.md for details.
This is a learning project, but contributions are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Follow the coding standards in
.cursor/folder - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Commit Convention: This project follows Conventional Commits
feat:- New featurefix:- Bug fixdocs:- Documentationrefactor:- Code refactoringtest:- Adding testschore:- Maintenance
This project is licensed under the MIT License - see the LICENSE file for details.
Bartosz ClapiΕski
Building this project to learn:
- .NET 9 and Blazor Server
- Clean Architecture principles
- Real-time web applications with SignalR
- DevOps and CI/CD practices
This project serves multiple purposes:
- Learning - Deep dive into .NET 9, Blazor, and Clean Architecture
- Portfolio - Showcase modern .NET development practices
- Building in Public - Document the journey from idea to production
- Best Practices - Implement industry-standard patterns and principles
- Project setup and documentation
- CI/CD pipeline
- Core foundation with authentication (Sprint 1)
- GitHub OAuth integration (Sprint 2)
- Repository, commits, and PR sync (Sprint 2)
- Background jobs with Hangfire (Sprint 2)
- Metrics calculation (Sprint 2)
- Security hardening & caching (Sprint 2)
- Chart.js integration (Sprint 3 - Phase 3.1) β
- Interactive charts - line and bar (Sprint 3 - Phases 3.2-3.3) β
- GitHub-style contribution heatmap (Sprint 3 - Phase 3.4) β
- Team leaderboards (Sprint 3 - Phase 3.5) β
- Real-time dashboard with SignalR (Sprint 3 - Phases 3.6-3.7) β
- Advanced metrics (Sprint 3 - Phase 3.8) β
- Time range filters & polish (Sprint 3 - Phases 3.9-3.10 - In Progress)
- Production deployment (Sprint 4 - Planned)
- GitLab integration
- Jira integration
- Advanced analytics
- Export functionality
- Mobile responsiveness
- Performance optimization
- AI-powered insights
- Predictive analytics
- Custom dashboards
- API for third-party integrations
- MudBlazor - Beautiful Blazor component library
- Clean Architecture - Robert C. Martin (Uncle Bob)
- .NET Team - For the amazing framework
β Star this repo if you find it useful!
π§ Questions? Open an issue or reach out!
π Following the journey? Watch this repo for updates!
