djuelg/Neuronizer
48.2
Weak · 21 September 2026
7.5k
lines of production code
Java
primary language
4
measurements over time
What this system is
Neuronizer is a secure, encrypted Android application for managing notes and todo lists. It provides users with the ability to create, edit, and organize content through a structured domain model that supports sorting by importance, date, or alphabetical order. The system utilizes Realm for local data persistence and implements an MVVM architecture to handle UI logic for previewing and managing these items.
Features
Added domain interactors for managing TodoList headers and items
The app now includes a new set of domain-layer interactors to support creating, editing, deleting, and displaying headers and items within a TodoList. This introduces the ability to add and remove headers and items, as well as update their properties (title, position, importance, details, and completion state). These changes enable the underlying logic for organizing and modifying todo list content.
app/src/main/java/de/djuelg/neuronizer/domain/interactors/todolist · high confidence
Added note display and editing capabilities
Users can now view and edit notes within the application. This change introduces the domain logic for retrieving a note's details and updating a note's body, including automatic adjustments to the note's importance level when content changes.
app/src/main/java/de/djuelg/neuronizer/domain/interactors/note · high confidence
Introduce Realm-based storage for Notes, Todo Lists, and Previews
The app now uses Realm as the local storage engine for Notes, Todo Lists, and Previews. New repository implementations (NoteRepositoryImpl, TodoListRepositoryImpl, PreviewRepositoryImpl) manage data persistence, with a central RepositoryImpl coordinating access. The storage layer includes DAO models, converters, and a migration handler, enabling structured, queryable storage for all core content types.
app/src/main/java/de/djuelg/neuronizer/storage · high confidence
Introduced domain repository interfaces for Notes, Previews, and Todo Lists
The application's domain layer now includes new repository interfaces for managing Notes, Previews, and Todo Lists, each defining the data access methods for their respective models. Additionally, the previous MessageRepository interface was renamed to Repository and updated to provide access to the new repositories, centralizing data access for the domain layer.
app/src/main/java/de/djuelg/neuronizer/domain/repository · high confidence
New domain interactors for previewing and managing notes and todo lists
The domain layer now includes new interactor interfaces for the preview feature, enabling users to add, edit, delete, and rename notes and todo lists. Specific interfaces include AddNoteInteractor, AddTodoListInteractor, DeleteNoteInteractor, DeleteTodoListInteractor, EditTodoListInteractor, RenameNoteInteractor, and DisplayPreviewInteractor, each defining callbacks for their respective operations.
app/src/main/java/de/djuelg/neuronizer/domain/interactors/preview · high confidence
New presentation layer for Todo, Note, and Preview management
The app introduces a new MVVM-style presentation layer for managing Todo lists, Notes, and Previews. This includes new presenter interfaces (e.g., DisplayTodoListPresenter, DisplayNotePresenter) and their implementations, which handle UI logic for adding, editing, and deleting items. The update also adds utility classes for clipboard operations, HTML stripping, Markdown conversion, and permission handling, alongside an introductory slide activity to guide users through the app's features.
app/src/main/java/de/djuelg/neuronizer/presentation · high confidence
New sorting options for items
Users can now sort their items by different criteria. The app introduces new comparators to order items alphabetically, by creation date, by importance, by last change, or by manual position, allowing users to organize their content in the way that best suits their workflow.
app/src/main/java/de/djuelg/neuronizer/domain/comparator · high confidence
Project initialization with Apache 2.0 license and updated documentation
The repository now includes an Apache License 2.0 file, establishing the legal terms for the project's distribution and use. The README has been significantly expanded to describe Neuronizer as a secure, encrypted, Android-based Todo and note-taking app, detailing its features, upcoming capabilities, and the specific libraries (Realm, FlexibleAdapter, Butterknife, etc.) it relies on. Additionally, the project's color palette has been defined in a new HTML file, and the .gitignore has been updated to exclude sensitive files like database passwords and build artifacts.
(repo-wide) · high confidence
Behavioural changes
Added custom Quicksand font styling for About and Details pages
New CSS files (About.css and Details.css) were added to the app's assets to apply the Quicksand font family to headings and body text, along with specific color schemes for links and headings on these pages.
app/src/main/assets · high confidence
Initialize Realm database configuration on app start
The Android application now initializes the Realm database during startup, replacing the previous Timber logging setup. This change configures the default Realm instance using a custom configuration, which is a prerequisite for the application's data storage and encryption features.
app/src/main/java/de/djuelg/neuronizer · high confidence
Introduces a new domain model for item previews and importance calculation
The preview layer for items (Notes and TodoLists) is restructured with new domain models that calculate importance based on access frequency, creation date, and last change. A new \Importance\ utility class manages access counters and normalization, while \Note\ and \TodoList\ models implement \ImportanceComparable\ to support sorting by importance, last change, creation date, or alphabetical order. This change introduces a new way to display and sort items in the preview, with a breaking change to the database schema to support the new importance tracking.
app/src/main/java/de/djuelg/neuronizer/domain/model/preview · high confidence
Introduces domain models for TodoList headers, items, and sections
The app now supports a structured todo list with headers, items, and sections. Users can now organize tasks under headers, mark items as important or done, and view item details. The domain model includes TodoListHeader, TodoListItem, and TodoListSection, enabling features like expanding/collapsing headers, sorting by position, and managing item states.
app/src/main/java/de/djuelg/neuronizer/domain/model/todolist · medium confidence
Preview screen gains full CRUD support for Notes and Todo Lists
Users can now create, edit, rename, and delete Notes and Todo Lists directly from the Preview screen. This change introduces new domain interactors (AddNote, AddTodoList, DeleteNote, DeleteTodoList, EditTodoList, RenameNote, and DisplayPreview) that handle the logic for these operations, allowing the UI to manage these items without leaving the preview context.
app/src/main/java/de/djuelg/neuronizer/domain/interactors/preview/impl · high confidence
Refactored ThreadExecutor to use Arrow's Optional for lazy initialization
The ThreadExecutor implementation was updated to use Arrow's Optional for lazy initialization, replacing the previous null-check pattern. This change simplifies the singleton creation logic by leveraging functional programming constructs from the Arrow library, improving code clarity and consistency with modern Java practices.
app/src/main/java/de/djuelg/neuronizer/domain/executor · medium confidence
Removed boilerplate WelcomingInteractor implementation
The WelcomingInteractorImpl class, which previously handled retrieving and displaying a welcome message via a repository, has been removed from the domain layer. This eliminates the default template code for the 'welcoming' use case, indicating a shift away from the initial boilerplate structure for this specific interaction.
app/src/main/java/de/djuelg/neuronizer/domain/interactors/impl · high confidence
Replaced sample model with a shared BaseModel interface
The domain model layer was refactored to introduce a new BaseModel interface that defines common fields (uuid, title, creation and change timestamps, and position) for all to-do list items. This replaces the previous SampleModel class, which was a simple placeholder with a single integer value. Users benefit from a more consistent and structured data model that supports future features like sorting and tracking item history.
app/src/main/java/de/djuelg/neuronizer/domain/model · high confidence
Upgraded Gradle wrapper to version 4.10.1
The project's Gradle wrapper has been updated from version 3.3 to 4.10.1. This change ensures that the build process uses a more recent version of the Gradle build tool, which may include new features, performance improvements, and bug fixes compared to the previous version.
gradle · high confidence
Test coverage
Added instrumented tests for TodoList and Preview storage repositories; Added mock repositories for testing; Removed obsolete Android application test; Removed obsolete unit tests for the welcome message feature.
Dependencies
Upgrade Android SDK, Gradle, and core dependencies
The app's build configuration has been updated to target Android SDK 27 (from 25) and raise the minimum supported version to API 19 (Android 4.4 KitKat) from API 15. The project has migrated from the deprecated 'compile' dependency configuration to 'implementation' and 'testImplementation'. Key library updates include Butterknife (7.0.1 to 8.8.1), Mockito (1.10.19 to 2.10.0), and the addition of several new dependencies such as Arrow, RichEditor, and FlexibleAdapter. The Gradle build tool was upgraded from 2.3.3 to 3.3.2, and the Realm database plugin was added.
(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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 48 → 48 (+0.7)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 98 → 97 (-0.7)
- Architecture 96 → 99 (+2.5)
- Maturity 54 → 54 (+0.0)
- Readiness 24 → 26 (+1.4)
- Security 96 → 96 (+0.0)
- Accessibility 63 → 63 (+0.0)
Resolved (16)
- Change coupling: PreviewFragment.java ↔ SettingsFragment.java (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/PreviewFragment.java)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (12 lines × 4) (app/src/main/java/de/djuelg/neuronizer/storage/NoteRepositoryImpl.java)
- Duplicated block (5 lines × 2) (app/src/main/java/de/djuelg/neuronizer/storage/TodoListRepositoryImpl.java)
- Duplicated block (6 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/interactors/todolist/impl/DeleteHeaderInteractorImpl.java)
- Duplicated block (6 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/interactors/todolist/impl/EditHeaderInteractorImpl.java)
- Duplicated block (6 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/model/preview/Note.java)
- Duplicated block (6 lines × 4) (app/src/main/java/de/djuelg/neuronizer/domain/model/preview/Note.java)
- Duplicated block (7 lines × 2) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/PreviewFragment.java)
- Duplicated block (7 lines × 2) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/TodoListFragment.java)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- No exposed public API
- Test reliability not included
- single-maintainer — knowledge-concentration (bus factor) risk
New (37)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/PreviewFragment.java)
- Duplicated block (12 lines × 4) (app/src/main/java/de/djuelg/neuronizer/storage/NoteRepositoryImpl.java)
- Duplicated block (5 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/interactors/todolist/impl/DeleteHeaderInteractorImpl.java)
- Duplicated block (5 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/interactors/todolist/impl/EditHeaderInteractorImpl.java)
- Duplicated block (5 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/model/preview/Note.java)
- Duplicated block (5 lines × 2) (app/src/main/java/de/djuelg/neuronizer/storage/TodoListRepositoryImpl.java)
- Duplicated block (6 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/model/preview/Note.java)
- Duplicated block (6 lines × 2) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/flexibleadapter/TodoListHeaderViewModel.java)
- Duplicated block (6 lines × 2) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/ItemFragment.java)
- Duplicated block (7 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/model/preview/Note.java)
- Duplicated block (7 lines × 2) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/PreviewFragment.java)
- Duplicated block (7 lines × 2) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/TodoListFragment.java)
- Duplicated block (8 lines × 2) (app/src/main/java/de/djuelg/neuronizer/domain/interactors/preview/impl/EditTodoListInteractorImpl.java)
- Duplicated block (8 lines × 3) (app/src/main/java/de/djuelg/neuronizer/domain/interactors/preview/impl/DisplayPreviewInteractorImpl.java)
- Duplicated block (8 lines × 3) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/ItemFragment.java)
- Duplicated block (8 lines × 4) (app/src/main/java/de/djuelg/neuronizer/presentation/ui/fragments/AboutFragment.java)
- …and 17 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
djuelg/Neuronizer 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 cc39889239229dcaba01302294d1f80d2f89f0cd — 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.