A simple, open and privacy friendly plant watering reminder for Android

Overview

Water Me 🪴

A simple, open and privacy friendly plant watering reminder for Android.

Build APK Made with Flutter

preview

Water me is a mobile application written in Flutter to remind you to water your plants. No ads, no account, no sign-up, no tracking.

Features and Components

  • Add plants with watering frequency, name and picture
  • No remote entity, local-only application
  • Flutter, currently support for Android
  • Camera access
  • Local Notifications
  • Workmanager with periodic task
  • Provider package for MVC separation

Install

Water Me is available on the F-droid store (Metadata).

Get it on F-Droid

Alternatively, download released versions from the release section of this repository or the continuous integration action for builds of the latest commits (requires a Github account).

Build

This is a flutter based Android application. Ensure to have Android-Studio and flutter-sdk installed.

flutter pub get
flutter build apk

The entire build process in captured in scripts/build.sh.

Feature and Contribution Ideas

Pull requests are welcome ❤️ .

  • A better logo :) #4
  • Enable 'web' target to build a web app for ios/ web (needs a backend for notifications).
  • Integrate firebase/ self hosted backend to enable a group mode to sync plant state within a group of users
  • Add a 'note' field to a plant
  • Show watering history in plant detail screen.
  • Allow assignment of plants into groups, e.g. living room, office

And more ideas.

License

GPL v3

About

Built with <3
by Andrin Bertschi
https://abertschi.ch

Comments
  • Frequent crashes on Android 7.1

    Frequent crashes on Android 7.1

    I use version 1.0.5 from F-droid on Android 7.1 on a Samsung phone. I get the OS crash popup almost once a day.

    FATAL EXCEPTION: main
    Process: ch.abertschi.waterme.water_me, PID: 30723
    android.app.RemoteServiceException: Bad notification posted from package ch.abertschi.waterme.water_me: Couldn't create icon: StatusBarIcon(icon=Icon(typ=RESOURCE pkg=ch.abertschi.waterme.water_me id=0x7f090000) visible user=0 )
    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1832)
    	at android.os.Handler.dispatchMessage(Handler.java:102)
    	at android.os.Looper.loop(Looper.java:154)
    	at android.app.ActivityThread.main(ActivityThread.java:6816)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
    
    bug 
    opened by opk12 1
  • improve notification usability by not issuing them during night time

    improve notification usability by not issuing them during night time

    Notifications are very useful for this app, however when staying up late or laying in bed reading etc I frequently receive notifications to water my plants. I have no interest whatsoever to do that at 3 o'clock in the morning.

    Wouldn't it make sense to only issue reminder notifications during daytime?

    enhancement good first issue 
    opened by foss- 5
  • Suggestion: remove leading 0 in frequency field

    Suggestion: remove leading 0 in frequency field

    When adding a plant, if I tap on the FREQUENCY field and type 5, I get 05 because the initial 0 is still there. For ease of reading, I think it would be better to have just 5.

    There are multiple ways of improving this, of course. For example, you could auto-select the text, so that the entered value overrides the existing value. You could also just auto-format the number to remove any leading zeroes. I'm sure there are other options, too.

    enhancement good first issue 
    opened by spl 1
  • Issues with camera view

    Issues with camera view

    When I first went to take a picture, I couldn't find the trigger button. It was only by accident that I discovered it when I dragged my finger up from the bottom to the top. When I did take a picture, I noticed that the top of the picture I took was not visible in the camera view while the button was visible at the bottom. I suspect there's something funny about the vertical dimension of the camera view on my phone (Moto G5 Plus, Android 8.1.0), because I don't think you would make it necessary to scroll to get to the button.

    Let me know if there's more information I can provide to help.

    enhancement good first issue 
    opened by spl 1
  • Make `screens/plant_show` more compact

    Make `screens/plant_show` more compact

    Hello & thanks for this neat helper :-)

    I'm noticing a small… Large… Size issue on a Fairphone 3+ screen with default font-size configured in /e/ OS: the WATER NOW button is only visible without scrolling when the plant name has 7 letters or less.

    Any longer name creates a linebreak, which in combination with the 2-line water every … and watered … lines push the button down. The fontSizes and SizedBox(heights are surprisingly large by default, so even reducing the OS font size provides shifts the display problem by only 1 character.

    I know one can swipe on the main screen. However, if one is on the plant's own screen for any reason, it's still a bit strange to have to scroll down for the main action.

    Therefore: Could the screen please be compacted a little bit? For example as in my compact-plant-show-screen branch? Please feel free to pull that, if you find it useful.


    Alternative ideas:

    a) Could the icon on the main screen be turned into a button, so that going into screens/plant_show is only necessary for checking the stats?

    b) The water droplet icon could be moved to the same line as the plant name.

    c) The WATER NOW button could be moved above all other text on screens/plant_show.

    enhancement 
    opened by katrinleinweber 3
  • automatically navigate user view to main view after tapping `Water Now`

    automatically navigate user view to main view after tapping `Water Now`

    Currently

    When tapping Water Now the info watered x days ago is updated. But to move to the next plant, user have to tap back arrow first.

    Expected

    There is nothing much to do after tapping Water Now for a specific plant entry. It would be convenient to automatically navigate users to main view after that action so that they can continue with the next plant entry.

    Bonus points for not using all caps for the Water Now button. There's no need to scream at the user at that point in time :)

    enhancement good first issue 
    opened by foss- 5
Releases(v1.0.2)
Owner
Andrin Bertschi
I like science, milk and late night walks
Andrin Bertschi
Flutter/Android water reminder app

Water Reminder App Android water reminder App made with Flutter using Android APIs such as DataStore and AlarmManager. Uses a native activity which is

Fabian 28 Dec 4, 2022
A cross-platform Flutter home workout app that respects your privacy. THIS IS A GITLAB MIRROR, file issues and contribute there.

Feeel Feeel is an open-source workout app for doing simple at-home exercises. This is a rewrite of the original app in Flutter, to make development ea

null 27 Dec 26, 2022
IoTF app is a smart farming app for IoT and AI-powered tomato plant disease detection. It is built with Flutter and uses Firebase as its backend.

Internet of Tomato Farming IoTF app is a smart farming app for IoT and AI-powered tomato plant disease detection. It is built with Flutter and uses Fi

ILYAS IMZAGNAN 4 Dec 9, 2022
Succu - This is a flutter app that makes it a breeze to know your pet plant more.

succu This is a flutter app that makes it a breeze to know your pet plant more. Are you struggling to keep your succulents alive? Or maybe you’re just

Francis Miguel A. Herlaban 81 Dec 13, 2022
Fluent System Icons are a collection of familiar, friendly and modern icons from Microsoft.

Fluent UI System Icons Fluent UI System Icons are a collection of familiar, friendly and modern icons from Microsoft. Icon List View the full list of

Microsoft 4.3k Dec 29, 2022
A user-friendly API for KDE's KRunner application.

A user-friendly API for KDE's KRunner application. Features Create KRunner plugins ("runners") Type safe Null safe Named parameters Documentation expl

Kristen McWilliam 6 Dec 25, 2021
Win32 registry - A package that provides a friendly Dart API for accessing the Windows registry

A package that provides a friendly Dart API for accessing the Windows registry.

Tim Sneath 20 Dec 23, 2022
A user-friendly money management app which allows you to keep track of transactions seamlessly

See the first version of 'Mvelopes' - Money Management Application which I completed as my first project and published on Play Store. 'Mvelopes' is a user-friendly money management app which allows you to keep track of transactions seamlessly. - Features - Technology • Reminder • Flutter • Notification • Hive • Manage income & expenses

Mushthak 16 Dec 8, 2022
Flutter's [FlatList] widget for React Native friendly developers

FlatList for Flutter [FlatList] widget in Flutter which will be familiar to React Native developers. Motivation While there are opinionated ways to bu

Hyo 5 Dec 21, 2022
This demo shows how you can open an expansion tile while closing an already open expansion tile.

Expansion Tile Open/Close Demo This demo shows you how to open an expansion tile while simultaneously closing an already open tile while maintaining a

Trey Thomas 3 Oct 21, 2022
Simple tool to open WhatsApp chat without saving the number, developed using Google's Flutter Framework. for Android/ IOS/ Desktop/ Web

OpenWp Simple tool to open WhatsApp chat without saving the number Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About

Swarup Bhanja Chowdhury 15 Nov 1, 2022
A beautiful, secure and simple authenticator app that supports multiple protocols and services. Free and open source. Written in Flutter and Dart.

OpenAuth A beautiful, secure and simple authenticator app that supports multiple protocols and services. Free and open source. Written in Flutter and

Isaiah Collins Abetong 31 Oct 5, 2022
An open source SFTP client for Android and iOS

RemoteFiles An open source SFTP client for Android and iOS. Website · Releases Downloads Google PlayStore APK file About RemoteFiles is an open source

Niklas Sauter 133 Jan 1, 2023
Prism is a beautiful open-source wallpapers app for Android. It is built with Dart on top of Google's Flutter Framework.

Prism Prism is a beautiful open-source wallpapers app for Android. It is built with Dart on top of Google's Flutter Framework. Prism brings you exclus

Hash Studios 473 Dec 31, 2022
E-Learn is a beautiful open-source education app for Android

E-Learn is a beautiful open-source education app for Android. It is built with Dart on top of Google's Flutter Framework.

Hash Studios 216 Jan 6, 2023
Encode App-Dev is a open source project which contains different projects of Application development, Android development, IOS development, Flutter, Kotlin, Dart, Java, Swift etc.

HACKTOBERFEST 2022 Encode App-Dev is an open source project which contains different projects of Application development, Android development, IOS dev

null 4 Dec 4, 2022
Flutter simple image crop - A simple and easy to use flutter plugin to crop image on iOS and Android

Image Zoom and Cropping plugin for Flutter A simple and easy used flutter plugin to crop image on iOS and Android. Installation Add simple_image_crop

null 97 Dec 14, 2021
A simple dart library for extracting the Open Graph protocol on a web pages

ogp_data_extract A simple dart library for extracting the Open Graph protocol on

KINTO 0 Jan 12, 2022