
TaskFocus
personal task management app
API + desktop & web UIs
bi-directional data synchronization
built with C#, .NET 8, Blazor Web Assembly, WPF, SQL Server
Today view
Personal task management application with both native desktop and web-based user interfaces. Allows users to create and manage to-do items, using concepts from the Getting Things Done (GTD) productivity system. Full-stack application built with C# and .NET, with continuous integration and deployment via Azure DevOps pipelines. The app utilizes both dependency injection and class libraries for modularity/separation of concerns.
Web app built using Blazor Web Assembly (WASM) and MudBlazor. Desktop app built using WPF and Caliburn Micro following the Model-View-ViewModel (MVVM) architectural pattern. Backend consists of an API built with .NET 8 and SQL Server databases, using Identity, JSON Web Tokens (JWT), and Entity Framework for mapping of user account data.
Settings view
Users can create and organize task data, which is synced between the web and desktop apps. Following the GTD productivity system, tasks can be assigned both projects and contexts:
projects group tasks by relation or dependency
contexts group tasks that will be performed in similar conditions
An Inbox view serves as a default bucket for new tasks that haven't yet had projects/contexts assigned. Once fully assigned, tasks are moved from the Inbox view to both their relevant Project and Context views. In these views, tasks can be ordered (via drag/drop) arbitrarily and independently (view-relative indexing).
Tasks can also be given due dates and/or "starred", and such tasks will automatically populate the Today view. The Completed view displays tasks marked done but not yet deleted. Completed tasks can also remain in their original view for a user-defined length of time before being "cleaned up" - i.e., moved to the Completed view exclusively prior to eventual deletion. The parameters for these automatic clean-up and deletion intervals are exposed as user settings.
Features user authentication and authorization, including transactional email with automated email address confirmation and email address/username and password change/reset functionality. Bi-directional data synchronization is performed automatically in the background on a periodic interval, but can also be triggered manually by the user.
For demo usage, please register as a new user. Note that email confirmation is required.
Desktop app (Windows): Download
Web app: taskfocus.andrewcreekmore.com