-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
André Paul Grandsire edited this page Apr 12, 2026
·
2 revisions
This document provides an overview of the Do It project architecture and how to navigate its source code.
Do It is a GNOME task manager application written in TypeScript, using GTK4 and libadwaita.
src/
├── core/ # Platform-agnostic business logic & interfaces
│ ├── interfaces/ # Abstract interfaces (settings, persistence, task-view)
│ └── utils/ # Core utilities (sort)
├── platform/ # Platform-specific implementations
│ └── gnome/ # GNOME/GTK4/Adw implementation
├── hooks/ # Reusable hooks (settings, task-sort)
├── utils/ # Utility functions
└── *.ts # App entry points and shared types
Contains platform-agnostic interfaces and implementations:
- interfaces/: Abstract interfaces for settings, persistence, and task views
- utils/: Core utilities like sorting algorithms
Contains platform-specific implementations:
- Each platform has its own subfolder with platform-specific code
-
app.types.ts: Core types likeITask -
app.enums.ts: Shared enums likeSortingField,SortingStrategy -
app.strings.ts: Localized strings -
app.static.ts: Static configuration
The project uses TypeScript path aliases (defined in tsconfig.json):
-
~→src -
~core→src/core -
~gnome→src/platform/gnome -
~hooks→src/hooks -
~utils→src/utils -
~actions→src/platform/gnome/actions
-
GNOME: Use Meson (
meson setup build && ninja -C build) - Use
yarn devfor development