preen-core 0.1.0

Core logic and data models for the Preen system cleaner and optimizer.
Documentation
  • Coverage
  • 0%
    0 out of 12 items documented0 out of 4 items with examples
  • Size
  • Source code size: 2.73 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 196.94 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Preen-rs/preen
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • madebydaniz

preen-core

This crate contains the core business logic and domain models for the Preen system cleaner and optimizer.

It is designed to be completely platform-agnostic and UI-agnostic, adhering to the principles of the Hexagonal Architecture.

Key Components

  • Domain Models: Defines the data structures used throughout the application (e.g., ScanResult, CleanableItem, SystemStats).
  • Ports: Defines the necessary traits (FileSystemPort, SystemMonitorPort) that must be implemented by the preen-os adapter to interact with the operating system.
  • Application Services: Contains the use-case logic (e.g., CleanerService, ScannerService).
  • Messaging Protocol: Defines the Command (UI -> Core) and Event (Core -> UI) enums for asynchronous communication.

Usage

This is a library crate intended to be used by the preen-os, preen-tui, and preen-gui crates within the main Preen workspace.

[dependencies]
preen-core = { path = "../preen-core" }