A cross-platform Pomodoro timer and Todo list application built with .NET MAUI.
PomodoroTodoApp/
├── Data/ # Database context and initialization
│ ├── AppDbContext.cs
│ └── DatabaseInitializer.cs
├── Models/ # Data models
│ ├── TodoTask.cs
│ ├── PomodoroSession.cs
│ ├── AppSettings.cs
│ └── DailyStatistics.cs
├── Services/ # Business logic services
├── Repositories/ # Data access layer
├── ViewModels/ # MVVM ViewModels
├── Views/ # XAML views
├── Platforms/ # Platform-specific code
└── Resources/ # App resources (images, fonts, etc.)
- .NET 10 MAUI - Cross-platform framework
- SQLite - Local database via Entity Framework Core
- MVVM Pattern - Architecture pattern
- Dependency Injection - Microsoft.Extensions.DependencyInjection
- Logging - Microsoft.Extensions.Logging
- xUnit - Unit testing framework
- FluentAssertions - Fluent assertion library
- FsCheck - Property-based testing
The application uses SQLite for local data storage. The database is automatically created on first launch at:
- Windows:
%LOCALAPPDATA%\PomodoroTodoApp\pomodoro.db - Android:
/data/data/com.companyname.pomodorotodoapp/files/pomodoro.db - iOS:
~/Library/Application Support/pomodoro.db - macOS:
~/Library/Application Support/pomodoro.db
- .NET 10 SDK
- Visual Studio 2022 or Visual Studio Code
- MAUI workload installed:
dotnet workload install maui
# Restore dependencies
dotnet restore
# Build the project
dotnet build
# Run on Windows
dotnet build -t:Run -f net10.0-windows10.0.19041.0
# Run on Android (requires Android SDK)
dotnet build -t:Run -f net10.0-android
# Run on iOS (requires macOS and Xcode)
dotnet build -t:Run -f net10.0-ios- ✅ Project initialization and basic infrastructure
- ⏳ Pomodoro timer with work/break sessions
- ⏳ Todo task management
- ⏳ Task-Pomodoro association
- ⏳ Statistics and history tracking
- ⏳ Customizable settings
- ⏳ Modern UI with light/dark themes
- ⏳ Cross-platform notifications
- ⏳ Responsive design for all screen sizes
This project is for educational purposes.