gonzalonm/xamarin-forms-clean
43.1
Weak · 21 September 2026
788
lines of production code
C#
primary language
4
measurements over time
What this system is
This is a cross-platform mobile application built on the Xamarin framework, specifically designed to manage city data. It implements a reactive architecture by leveraging the Rx.NET library to handle asynchronous, non-blocking data flows from the API layer to the presentation layer. The system replaces traditional callback-based interactions with observable streams, enabling a more responsive user interface and decoupled data handling.
Behavioural changes
Migrated data access layer to reactive streams using Rx.NET
The application's data access layer has been refactored to use the Reactive Extensions (Rx.NET) library, replacing the previous synchronous callback-based execution model. This change updates the \UseCase\ base class and its implementations (such as \GetAllCitiesUseCase\) to return \IObservable\ streams instead of executing via callbacks. The \RestApi\ and \CityRepository\ layers now produce observable sequences, allowing the \CityPresenter\ to subscribe to data streams directly. This shift enables asynchronous, non-blocking data flow throughout the domain and data layers, improving responsiveness and aligning with a reactive architecture.
XamarinCleanApp · high confidence
Dependencies
Added Rx.NET and .NET Standard library dependencies
The project now includes the System.Reactive and System.Reactive.Linq packages (version 4.0.0-preview00001), enabling the use of reactive programming patterns in the application. Additionally, a comprehensive set of .NET Standard 1.3 library packages (such as System.IO.Compression, System.Net.Http, and various System.\* packages) have been added to support the application's dependencies on Android and iOS platforms.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 43 → 43 (-0.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 66 → 65 (-1.2)
- Architecture 84 → 84 (+0.0)
- Maturity 58 → 58 (+0.0)
- Readiness 17 → 17 (+0.0)
- Security 100 → 100 (+0.0)
Resolved (7)
- Build did not complete in the analyzer
- No exposed public API
- early-stage repository — too little history to judge knowledge freshness
- git history depth insufficient
- git history depth insufficient
- redundant comment (XamarinCleanApp/Core/Domain/UseCase/DefaultObserver.cs)
- single-maintainer — knowledge-concentration (bus factor) risk
New (3)
- Documentation: no installation or build instructions (README.md)
- Documentation: no licence statement (README.md)
- Documentation: no usage examples (README.md)
Architecture
- Unchanged — 1 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
gonzalonm/xamarin-forms-clean was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit fbf986ae7a1ef75fdb106843b1b91e56a222b0d2 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.