Skip to content

tothKarolyDavid/Habitinator

Repository files navigation

Habitinator

.NET 10 .NET MAUI Blazor PostgreSQL SQLite Platforms GitHub Release

A cross-platform productivity app built with .NET MAUI and Blazor. Manage habits, dailies, and to-dos with a focus timer, analytics, and reliable sync across web and mobile.

Live Demo: habitinator.app

DemoPreviewDownloadFeaturesTech StackGetting Started


Preview

Habitinator demo

Download & Install

Available builds

Live Demo (Web): https://habitinator.app
Latest Release: GitHub Release

Platform Package Notes
Android Habitinator-android.apk Install on-device (unknown sources required)
Windows Habitinator-windows-x64.zip Portable app, extract and run
iOS / macOS Source only Build from source using .NET MAUI workload

Windows runtime note: if your release is framework-dependent, install .NET Desktop Runtime once.

Option 1: Use prebuilt release assets (recommended)

  1. Open latest releases
  2. Download your platform package
  3. Follow platform steps below

Option 2: Build locally with .NET SDK

# Windows
dotnet build -t:Run -f net10.0-windows10.0.19041.0

# Android (requires Android SDK)
dotnet build -t:Run -f net10.0-android

Installation instructions

Android

  1. Enable Install from unknown sources in system settings
  2. Transfer the APK to your phone
  3. Open the APK and install

Windows

  1. Extract the ZIP file
  2. Run Habitinator.exe
  3. If prompted, install .NET Desktop Runtime

Key Features

  • Core Planner: Track habits, dailies, and to-dos. Organize them with tags, notes, and checklists.
  • Global Session Timer: A stopwatch with target logging to trace time spent on specific items.
  • Statistics & Heatmap: Interactive heatmap dashboard to monitor your progress over time.
  • Local-First & Sync: The mobile/desktop clients run on SQLite for offline support and sync changes automatically to a server-side PostgreSQL backend.

Technology Stack

Layer Technologies
Runtime .NET 10
Web UI Blazor Web App (Interactive Server), MudBlazor
Native Apps .NET MAUI + Blazor Hybrid (Android, iOS, macOS, Windows)
Database (Server) Neon Serverless PostgreSQL / any PostgreSQL via EF Core
Database (Client) SQLite via EF Core
Orchestration .NET Aspire AppHost

Getting Started

Prerequisites

Make sure you have Docker installed and running for the local PostgreSQL container.

Run & Debug (via Aspire)

Run the following command to start PostgreSQL, the web backend, and the native client host environment:

dotnet run --project src/AppHost/AppHost.csproj

Seeded Demo User

The application will automatically seed a guest account on startup:

  • Email: guest@habitinator.local
  • Password: Guest123!

Architecture & Database

Here are the project dependencies and database schema (auto-updated via documentation scripts):

Solution Graph

flowchart LR
%% Auto-generated by tools/Habitinator.Diagrams (project reference graph)
  App_MAUI["App.MAUI"]
  App_MAUI_UITests["App.MAUI.UITests"]
  App_Shared_RCL["App.Shared.RCL"]
  App_Shared_RCL_Tests["App.Shared.RCL.Tests"]
  App_Shared_Tests["App.Shared.Tests"]
  App_Web["App.Web"]
  App_Web_Client["App.Web.Client"]
  App_Web_IntegrationTests["App.Web.IntegrationTests"]
  AppHost["AppHost"]
  App_MAUI --> App_Shared_RCL
  App_Shared_RCL_Tests --> App_Shared_RCL
  App_Shared_Tests --> App_Shared_RCL
  App_Web --> App_Shared_RCL
  App_Web --> App_Web_Client
  App_Web_Client --> App_Shared_RCL
  App_Web_IntegrationTests --> App_Web
  AppHost --> App_Web
Loading

Database Schema

flowchart TB
%% Auto-generated from EF Core ApplicationDbContextModelSnapshot
  AspNetRoleClaims["AspNetRoleClaims"]
  AspNetRoles["AspNetRoles"]
  AspNetUserClaims["AspNetUserClaims"]
  AspNetUserLogins["AspNetUserLogins"]
  AspNetUserRoles["AspNetUserRoles"]
  AspNetUserTokens["AspNetUserTokens"]
  AspNetUsers["AspNetUsers"]
  BoardItems["BoardItems"]
  BoardRequestIdempotencies["BoardRequestIdempotencies"]
  UserActivityEvents["UserActivityEvents"]
  AspNetRoles -->|fk| AspNetRoleClaims
  AspNetRoles -->|fk| AspNetUserRoles
  AspNetUsers -->|fk| AspNetUserClaims
  AspNetUsers -->|fk| AspNetUserLogins
  AspNetUsers -->|fk| AspNetUserRoles
  AspNetUsers -->|fk| AspNetUserTokens
  AspNetUsers -->|fk| BoardItems
  AspNetUsers -->|fk| BoardRequestIdempotencies
  AspNetUsers -->|fk| UserActivityEvents
Loading

About

A full-stack .NET 10 productivity ecosystem featuring Blazor Web and MAUI Hybrid. Demonstrates local-first SQLite sync, idempotency-backed REST APIs, Aspire orchestration, and automated E2E testing with Playwright and Testcontainers.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors