Skip to content
CAI
Software that uses CAICheck a score

mohamedelareeg/POS

41.5

Weak · 21 September 2026

13.2k

lines of production code

C#

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Added empty dependency injection registration methods for Application and Infrastructure layers

New static classes, ApplicationDependencies and InfrustructureDependencies, have been added to the POS.Application and POS.Infrustructure projects respectively. These classes provide empty extension methods (AddApplicationDependencies and AddInfrustructureDependencies) for IServiceCollection, establishing the initial structure for registering application and infrastructure dependencies in the service collection.

POS.Application, POS.Infrustructure · high confidence

Initial release of the POS application

The repository now includes the core project structure for the Point of Sale (POS) application, including the solution file (POS.sln) and a MIT License. The README provides a comprehensive overview of the application's features, such as WPF-based UI, Clean Architecture, and integration with Entity Framework Core, SQLite, and ASP.NET Core Identity. This initial commit establishes the foundational files and documentation for the project.

(repo-wide) · high confidence

Introduces new UI components and application startup configuration

The POS application now includes a new \App.xaml\ that defines global resource dictionaries for fonts, colors, and styles, alongside a updated \App.xaml.cs\ that configures the .NET dependency injection container to register authentication services (Identity, DbContext, and \AuthenticationService\) at startup. Additionally, several new user controls have been added to the UI layer: \BindablePasswordBox\ for secure input, \WindowHeader\ for window title bar controls, and custom controls for managing company information (\CompanyInfo\_UserControl\), customer addition (\Customer\_Add\_UserControl\), and database backup/restore operations (\Backup\_UserControl\).

POS · high confidence

Introduces new domain models for POS, E-Invoicing, and Payments

The POS.Domain layer now includes a comprehensive set of new domain models to support core business operations. This includes base entities and specific models for Areas, Categories, Companies, Customers, and Price Quotations. Additionally, a full E-Invoicing schema is introduced with models for Tax Types, Tax Subtypes, and reference data such as Activity Codes, Country Codes, Currency Codes, Non-Taxable Types, Payment Methods, Return Reasons, and Payment Methods. Finally, the domain now supports detailed Payment Processing with models for Invoices, Invoice Payments, and Purchase Payments, alongside specific payment method entities like Bank, Cash, Cheque, and Credit Card records.

POS.Domain, POS.Persistence · high confidence

Dependencies

Initial project structure and dependency setup for POS application

The project has been initialized with five new .csproj files defining the solution's architecture: POS.Domain, POS.Application, POS.Infrastructure, POS.Persistence, and the main POS WPF application. These files establish the .NET 8.0 target framework and introduce key dependencies, including Microsoft.Extensions libraries, Entity Framework Core (SQLite), FluentValidation, and UI libraries like MahApps.Metro and MaterialDesignThemes.

(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 42 → 41 (-0.7)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 61 → 56 (-4.5)
  • Architecture 96 → 96 (-0.1)
  • Maturity 59 → 59 (-0.1)
  • Readiness 20 → 25 (+5.6)
  • Security 59 → 48 (-11.2)

Resolved (27)

  • Bounded contexts not declared
  • CommentedOutCode (POS/ViewModels/Base/BaseProductsViewModel.cs)
  • CommentedOutCode (POS/ViewModels/Base/BaseProductsViewModel.cs)
  • Duplicated block (11 lines × 2) (POS/ViewModels/UserMangmentViewModel.cs)
  • Duplicated block (11 lines × 3) (POS/ViewModels/POSViewModel.cs)
  • Duplicated block (12 lines × 2) (POS/ViewModels/AddCustomersDialogViewModel.cs)
  • Duplicated block (12 lines × 3) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Duplicated block (12 lines × 3) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Duplicated block (13 lines × 2) (POS/ViewModels/AddCustomersDialogViewModel.cs)
  • Duplicated block (13 lines × 3) (POS/ViewModels/POSViewModel.cs)
  • Duplicated block (13 lines × 4) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Duplicated block (15 lines × 2) (POS/ViewModels/POSViewModel.cs)
  • Duplicated block (15 lines × 2) (POS/Views/HomeWindow.xaml.cs)
  • Duplicated block (17 lines × 2) (POS/ViewModels/AddCustomersDialogViewModel.cs)
  • Duplicated block (17 lines × 2) (POS/ViewModels/AddCustomersDialogViewModel.cs)
  • Duplicated block (23 lines × 5) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Duplicated block (29 lines × 4) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Inconsistent naming for product types. 'Product' is used for the base/general entity, while specific types use 'Product' as a suffix (PurchaseProduct, SaleProduct) or prefix (QuotedProduct).
  • LLM evaluation failed
  • No exposed public API
  • …and 7 more

New (60)

  • CommentedOutCode (POS.Domain/Models/Products/SaleProduct.cs)
  • CommentedOutCode (POS.Domain/Models/Products/SaleProduct.cs)
  • CommentedOutCode (POS/Components/WindowHeader.xaml.cs)
  • CommentedOutCode (POS/SaleCalculator.cs)
  • CommentedOutCode (POS/ViewModels/InventoryViewModel.cs)
  • CommentedOutCode (POS/ViewModels/InventoryViewModel.cs)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (100 lines × 2) (POS.Domain/Models/Products/QuotedProduct.cs)
  • Duplicated block (107 lines × 3) (POS.Domain/Models/CompanyInfo.cs)
  • Duplicated block (11 lines × 2) (POS/ViewModels/Base/BaseProductsViewModel.cs)
  • Duplicated block (11 lines × 2) (POS/ViewModels/UserMangmentViewModel.cs)
  • Duplicated block (119 lines × 2) (POS.Domain/Models/Customer.cs)
  • Duplicated block (13 lines × 3) (POS/ViewModels/AddCustomersDialogViewModel.cs)
  • Duplicated block (13 lines × 4) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Duplicated block (13 lines × 4) (POS/ViewModels/AddCustomersDialogViewModel.cs)
  • Duplicated block (14 lines × 3) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Duplicated block (14 lines × 3) (POS/ViewModels/AddCategoriesDialogViewModel.cs)
  • Duplicated block (14 lines × 3) (POS/ViewModels/POSViewModel.cs)
  • Duplicated block (15 lines × 2) (POS/ViewModels/POSViewModel.cs)
  • …and 40 more

Architecture

  • Unchanged — 2 containers · 2 contexts · 1 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

mohamedelareeg/POS 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 d98364f6f7eac9ff613bc49448d26122f64aaab8 — 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-28e75b8e3254.