A future proof opinionated software written with Flutter to manage your life in plaintext: todo, agenda, journal and notes.
- Month Calendar: Interactive calendar view with scrollable months
- Daily Content Display: Shows markdown content for selected days
- Editable Content: Rich text editor with markdown support
- Todo Management: Check/uncheck todos with double-tap functionality
- Note List: Browse all notes with search functionality
- Add Notes: Create new notes with optional folder organization
- Note Management: Rename and delete notes
- Folder Support: Organize notes in subfolders
- Search: Real-time search through note titles and content
- Theme Selection: Choose between System, Light, and Dark themes
- Settings: App version and about information
- Dailies: Daily markdown files (YYYYMMDD.md format)
- Notes: Organized notes with folder support
- Archives: Placeholder for archived content
lib/
├── main.dart # App entry point
├── models/
│ ├── daily_file.dart # Daily file model
│ └── note_file.dart # Note file model
├── providers/
│ ├── file_provider.dart # File management provider
│ └── theme_provider.dart # Theme management provider
├── screens/
│ ├── main_screen.dart # Main navigation screen
│ ├── calendar_view.dart # Calendar and daily view
│ ├── notes_view.dart # Notes list and management
│ └── preferences_screen.dart # Settings screen
└── widgets/
├── daily_editor.dart # Daily content editor
├── note_editor.dart # Note content editor
└── note_list_item.dart # Note list item widget
- Flutter SDK (3.0.0 or higher)
- Dart SDK (3.0.0 or higher)
-
Clone the repository
git clone <repository-url> cd Planova
-
Install dependencies
flutter pub get
-
Run the application
# For Linux desktop flutter run -d linux # For Android (requires Android SDK) flutter run -d android # For iOS (requires Xcode on macOS) flutter run -d ios
# Build APK for Android
flutter build apk --release
# Build for Linux desktop
flutter build linux --release
# Build for iOS (macOS only)
flutter build ios --release- Calendar View: Select any date on the calendar to view or edit daily content
- Edit Mode: Tap the edit button to enter edit mode for the selected day
- Markdown Support: Use markdown syntax for formatting:
**bold**for bold text*italic*for italic text- itemfor bullet lists1. itemfor numbered lists[ ] taskfor todo items
- Todo Management: Double-tap todo items to check/uncheck them
- Browse Notes: View all notes organized by folders
- Search: Use the search bar to find specific notes
- Add Note: Tap the "+" button to create a new note
- Organize: Create folders to organize your notes
- Edit: Tap any note to open the editor
- Theme: Choose your preferred theme (System/Light/Dark)
- About: View app information and version
The app creates the following directory structure in your documents folder:
Documents/
└── Org/
├── dailies/
│ ├── 20250128.md
│ ├── 20250129.md
│ └── ...
├── archives/
└── notes/
├── Work/
│ └── project_1.md
├── Personal/
│ └── project_2.md
└── OtherSubFolder/
└── notes_can_be_stored_in_subfolder.md
table_calendar: Calendar widgetflutter_markdown: Markdown renderingpath_provider: File system accessshared_preferences: Settings storageprovider: State managementintl: Internationalization
The project follows Flutter's recommended code style. Run flutter analyze to check for issues.
# Run tests
flutter test
# Run integration tests
flutter drive --target=test_driver/app.dart- Main View with calendar and daily content
- Editable markdown content
- Todo check/uncheck functionality
- Notes View with search
- Note management (add, rename, delete)
- Folder organization
- Preferences screen with theme selection
- File structure setup
- Android intent handling
- Note sharing functionality
- Advanced search filters
- Export/import functionality
- Cloud sync support
- Widget support for quick access
- Dark mode improvements
- Accessibility improvements
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and ensure they pass
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by MOrg and other plaintext productivity tools
- Built with Flutter and Material Design
- Uses markdown for content formatting