8000 GitHub - FriesI23/mhabit: Our app helps you form and track micro habits with easy-to-use πŸ“ˆ charts and tools, making it simple to establish healthy habits that stick 🌱. Start your personal growth journey today πŸš€!
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Our app helps you form and track micro habits with easy-to-use πŸ“ˆ charts and tools, making it simple to establish healthy habits that stick 🌱. Start your personal growth journey today πŸš€!

License

Notifications You must be signed in to change notification settings

FriesI23/mhabit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Table Habit

Build and Release Translation Latest Stable Version Latest Version License Flutter WebDAV Supported

Trello

"Table Habit" is an app that helps you establish and track your own micro habit. It includes a complete set of growth curves and charts to help you build habits more effectively, and keeps your data in sync across devices (currently via WebDAV, with more options coming soon).

Moreover, this app completely open source.

Get it on F-Droid

Android:

Get it on F-Droid Get it on LzzyOnDroid

iOS:

Get it on AltStore Get it on SideStore

Public beta will be available through TestFlight once app is distributed via the App Store.

Screenshots

Create new habit Check habit detail Habit heatmap calendar Habit display page Habit display page operation Habits export and import

Features

  • A scoring system to help develop your own micro habits.
  • Support both positive and negative habit.
  • An easy-to-use interface for habit check in.
  • Different colors used to distinguish between various habits.
  • Easily export and import habits using a human-readable format (JSON).
  • Adapt to Material3 and Dynamic Color for Android 12 and later versions.
  • Adaptation for landscape and large screen devices.
  • [Experimental] Support network sync with WebDAV.
  • No ADs in this app.

You can customize each habit with the following options:

  • Name
  • Type (positive/negative)
  • Description
  • Color
  • Daily goal
  • Daily goal unit
  • The maximum goal expected to be completed each day
  • Frequency
  • Start date
  • Expected completion time
  • Reminder
  • etc.

Supported platforms

platform build publish desc.
android βœ… Github / F-Droid
ios βœ… Github /
SideLoad( AltStore / SideStore / Custom ) /
TestFlight(Pre)
macos βœ… Github / HomeBrew
windows βœ… Github(1) limit features: reminder
linux 🟨 limit features: reminder
  1. Windows version is still in beta, some features may be limited or unstable.

Note: iOS Installation (Sideloading)

  1. Install AltStore / SideStore follow official instructions.
  2. Download mhabit-unsigned.ipa on your iOS device directly from the latest releases.
  3. Install this IPA file.

Note: macOS Installation (HomeBrew Cask)

  1. Add Third-Party Repo by running brew tap FriesI23/brew-repo.
  2. Install by running:
brew install table-habit
# for pre-release version, use:
brew install table-habit@beta

Note: Windows MSIX Insaller

On a first-time attempt to install this MSIX, following prompt may appear:

This app package’s pub 8000 lisher certificate could not be verified. Contact your system administrator or the app developer to obtain a new app package with verified certificates. The root certificate and all immediate certificates of the signature in the app package must be verified (0x800B010A)

This is because the MSIX installation package provided in Github/Releases/Assets is a self-signed version, corresponding certificate must be trusted on each machine which attempt to install it.

Install certificate by following the steps below:

See here for steps with screenshots.

  1. Right click msix installer package, select Properties
  2. Switch to Digital Signatures tab and click signer under Embedded Signatures
  3. Click Details, In new window click View Certificate
  4. In new window (Certificate), click Install Certificate
  5. In Certificate Import Wizard window:
    1. Select Local Machine and click Next
    2. Select Place all certificates in the following store
    3. Click Browse and select Trusted Root Certification Authorities
    4. Click Finish.
  6. Finally a dialog with "The import was successful." should be poped-up.

Or execute commands below:

# run at administrator
$signature = Get-AuthenticodeSignature -FilePath "\path\to\your\mhabit.msix"
$certificate = $signature.SignerCertificate
Export-Certificate -Cert $certificate -FilePath ".\mhabit.crt"
Import-Certificate -FilePath ".\mhabit.crt" -CertStoreLocation Cert:\LocalMachine\Root

After operations above, this MSIX package should now be able to install successfully.

Trusting self-signed certificate always carries some risks. Skipping signature verification to install via command below is also allowed:

Add-AppPackage -Path "\path\to\your\mhabit.msix" -AllowUnsigned

Todo

status progress desc.
- Publish to Google Play
In Progress Publish to iOS App Store
- Publish to macOS App Store

Build from source

Make sure your flutter version same as .flutter, You can use `fvm`` to keep multiple versions on your local machine, or simply use this submodule to build it!

  1. in project folder, run flutter pub get
  2. open an android or ios emulator
  3. run flutter run --debug

Building for iOS / macOS

iOS required flavor, use flutter run --debug --flavor f_dev/f_generic instead command above.

Building for Linux

requires:

  1. installing the following packages for the SQFlite database:
sudo apt-get -y install libsqlite3-0 libsqlite3-dev
  1. Ensure that all dependencies required by flutter_secure_storage are satisfied:
sudo apt-get install libsecret-1-dev libjsoncpp-dev
  1. If an error occurs during the build process, please follow these steps strictly.

Configuring WebDAV Synchronization (Beta)

You will need a compatible server for it, e.g. Nextcloud, Koofr, etc. You will find some configuration examples below.

Nextcloud Configuration

  1. Create a dedicated app password in your Nextcloud:

    • Go to Profile β†’ Settings β†’ Security β†’ bottom of the page
    • Enter an app name (e.g., "mhabit" or "test") and confirm your password Create new app
    • Save the generated password Retrieve app credentials
  2. Configure mhabit with your Nextcloud server:

    • Go to Settings β†’ Sync Options β†’ Sync Server β†’ Current: WebDAV
    • Enter your server URL (format: https://example.com/remote.php/dav/files/[nextcloud user]) Server configuration
  3. Perform initial sync:

    • Now return back to Settings
    • Click the refresh button next to Sync Now
    • Successful connection will display sync status First synchronization
  4. Enjoy automatic sync:

    • Additional syncs will occur without other modals
    • Verify sync status by checking the last sync timestamp Success synchronizations

Koofr Configuration

Follow the "How do I connect a service to Koofr through WebDAV?" guide to create an application password and complete the connection settings in the app.

A1: Don’t use the root directory directly. Instead, create your own folder inside Koofr, e.g. https://app.koofr.net/dav/Koofr/your-folder-name/

A2: If you see 429 error, please refer to Error 429.

Contributing

I am an independent developer and do not have professional expertise in writing documentation and project management.

If you have relevant knowledge and are willing to contribute to this project, you can help me improve the documentation, e.g README.md file.

When contribute code to this project, please try to follow this guideline.

Donate

"Buy Me A Coffee" Alipay WechatPay

ETH BTC

See here for full list of donors.

Translation

Feel free to join and help with the translation for Table Habit, you can follow docs/add_new_locale_support to get incolved.

Engage

License

Copyright 2023 Fries_I23

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Our app helps you form and track micro habits with easy-to-use πŸ“ˆ charts and tools, making it simple to establish healthy habits that stick 🌱. Start your personal growth journey today πŸš€!

Topics

Resources

License

Stars

Watchers

Forks

0