PotatoNotes - POSP official notes app written in flutter

Overview

Leaflet

POSP official notes application, written in flutter, beautiful, fast and secure.

Get it on Google Play

Main features

  • Material design
  • Completely cross platform
  • List/grid view for notes
  • Multiple note extras, such as lists, images and drawings
  • Lock notes with a pin or password or biometrics
  • Hide notes content on the main page
  • Search notes with various filters
  • Complete theme personalization
  • Local backup/restore functionality with encryption
  • Trash and archive for notes
  • Database encryption
  • Tags for notes

Planned features

  • New sync api integration
  • Folders
  • Refined UI for desktop platforms

Compiling the app

Before anything, be sure to have a working flutter sdk setup.

Be sure to disable signing on build.gradle or change keystore to sign the app.

For now the required flutter channel is master, so issue those two commands before starting building:

~$ flutter channel master
~$ flutter upgrade

After that, building is simple as this:

~$ flutter pub get

~$ flutter run           # for debug
~$ flutter build apk --flavor dev     # release build with dev flavor (available flavors are dev, production and ci)

Generating locales

After adding or updating the locales, run the following command from Leaflet root dir:

dart bin/locale_gen.dart

This will generate and update the required files

Contributing

The entire app and even the online sync api is completely open source.
Feel free to open a PR to suggest fixes, features or whatever you want, just remember that PRs are subjected to manual review so you gotta wait for actual people to look at your contributions

For translations, head over to our Crowdin.

If you want to receive the latest news head over to our Telegram channel, if you want to chat we even got the Telegram group.

Comments
  • Cannot change username due to

    Cannot change username due to "malformed authentication token"

    As depicted below, if I attempt to change my username, I get an error message. It doesn't matter what I type in the text box, it always shows the error.

    opened by AnonRS3 8
  • Refreshing content causes note data loss

    Refreshing content causes note data loss

    If I create a note or change a notes color, those changes aren't saved if I pull to refresh from the main page. The changed note colors revert back to their former colors and some notes have disappeared completely.

    opened by AnonRS3 8
  • Configure Custom Sync Server in Mobile App

    Configure Custom Sync Server in Mobile App

    The sync server is open source and self-hostable, but cannot be pointed at in the mobile app's UI.

    The goal of implementing this was mentioned in a comment on a closed issue but having an open issue makes tracking progress easier.

    I would help with this but I don't have the requisite mobile dev knowledge at present.

    opened by mtdevans 7
  • App crashes after setting up reminder

    App crashes after setting up reminder

    Add new note, press "+", select "Reminder" to add new reminder. Select time, select date. Clicking "Save" app crashes and note dissapears. PotatoNotes version 1.5.2+15, installed from Google Play Store.

    opened by joshas 3
  • Copied content not showing up

    Copied content not showing up

    Hi! Just noticed this bug while using the app (absolutely beautiful UI btw, encryption pretty please?), whenever I copy a huge paragraph on one of the notes, it doesn't show it in its entirety (more like 1/10th of the whole thing). I can't even scroll down unless I go into edit mode. It's quite inconvenient to not be able to copy stuff since I do it pretty regularly, but your notes app is the most visually pleasing alternative to Keep. So it's kinda a shame that I can't use it as a daily for now.

    Appreciate the great app though! You guys rock!

    I hope the image attachment works, here's a comparison between Notally and POSP Note: IMG_20200724_181246

    opened by GitterDoneBoi 3
  • flutter run error

    flutter run error

    flutter run got Exception: Gradle build failed to produce an .apk file. It's likely that this file was generated under /Users/foo/PotatoNotes/build, but the tool couldn't find it.

    opened by goodforever 3
  • Notes which are not synced gets deleted on app launch

    Notes which are not synced gets deleted on app launch

    If parsed list != list then local entries are deleted and parsed list is entered again in db.

    https://github.com/HrX03/PotatoNotes/blob/4738afb6d06413df4b8a9244e0ad47420a535bac/lib/routes/notes_main_page_route.dart#L342

    opened by Gaurav192 3
  • b/routes/settings_route.dart:486:65: Error:

    b/routes/settings_route.dart:486:65: Error:

    b/routes/settings_route.dart:486:65: Error: The getter 'headline6' isn't defined for the class 'TextTheme'.

    • 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/E:/apps/flutter/packages/flutter/lib/src/material/text_theme.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'headline6'. Theme.of(context).textTheme.headline6.color) ^^^^^^^^^ lib/routes/settings_route.dart:496:65: Error: The getter 'headline6' isn't defined for the class 'TextTheme'.
    • 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/E:/apps/flutter/packages/flutter/lib/src/material/text_theme.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'headline6'. Theme.of(context).textTheme.headline6.color) ^^^^^^^^^ lib/ui/note_view.dart:36:51: Error: The getter 'headline6' isn't defined for the class 'TextTheme'.
    • 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/E:/apps/flutter/packages/flutter/lib/src/material/text_theme.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'headline6'. Color cardColor = Theme.of(context).textTheme.headline6.color; ^^^^^^^^^ lib/ui/note_view.dart:63:46: Error: The getter 'headline6' isn't defined for the class 'TextTheme'.
    • 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/E:/apps/flutter/packages/flutter/lib/src/material/text_theme.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'headline6'. return Theme.of(context).textTheme.headline6.color; ^^^^^^^^^ lib/ui/note_view.dart:168:40: Error: The getter 'headline6' isn't defined for the class 'TextTheme'.
    • 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/E:/apps/flutter/packages/flutter/lib/src/material/text_theme.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'headline6'. .headline6 ^^^^^^^^^ lib/ui/note_view.dart:186:40: Error: The getter 'headline6' isn't defined for the class 'TextTheme'.
    • 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/E:/apps/flutter/packages/flutter/lib/src/material/text_theme.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'headline6'. .headline6 ^^^^^^^^^ lib/ui/note_view.dart:212:48: Error: The getter 'headline6' isn't defined for the class 'TextTheme'.
    opened by jinfagang 3
  • Long notes don't scroll correctly

    Long notes don't scroll correctly

    Notes longer than 32 lines do not scroll when viewed. The only way to see the extra text is to edit the note, then use the text input cursor to scroll inside the text input box.

    Device: Pixel 4 XL OS: Android 10 (QQ1B.200205.002) Potatonotes version: 1.5.1+13

    Video demonstrating the issue: https://youtu.be/g-DL0iISg7w

    opened by bejd 3
  • project  licence ??

    project licence ??

    Hey First thanks for sharing this project I wanna use part of your code on my project I don't know much about how licensing work here on GitHub usually they're a tag on project indicate the license, so can use or not and if yes what's I need to refer your code as open source and thank you again

    opened by elmissouri16 3
  • Invalid flutter command in Readme.md

    Invalid flutter command in Readme.md

    The Readme contains following instructions for building Leaflet:

    For now the required flutter channel is master, so issue those two commands before starting building:

    ~$ flutter channel master
    ~$ flutter update
    

    When trying to run the second one, I get following output:

    $ flutter update
    Could not find a command named "update".
    
    
    Run 'flutter -h' (or 'flutter <command> -h') for available flutter commands and options.
    

    Do you mean to run flutter upgrade?

    opened by pagdot 2
  • FAILURE: Build failed with an exception.

    FAILURE: Build failed with an exception.

    FAILURE: Build failed with an exception.

    • Where: Build file '/Users/foo/Leaflet/android/app/build.gradle' line: 58

    • What went wrong: A problem occurred evaluating project ':app'.

    path may not be null or empty string. path='null'

    my key.properties ...... keyAlias=key storeFile=key.jks

    line: 58 is storeFile file(keystoreProperties['storeFile'])

    opened by goodforever 0
  • Rename to avoid confusion with Leaflet, the mapping library

    Rename to avoid confusion with Leaflet, the mapping library

    opened by mourner 3
  • Migrate cryptography to rust

    Migrate cryptography to rust

    This comes with many benefits such as:

    • Speed. In fact, in our testing, backup times are slashed to under a second for 100 notes in debug mode. This can be improved by reducing memory copying and enabling hardware AES and SIMD in rustc flags.

    • Auditability. We use audited cryptography libraries such as ring and aes-gcm which provide better security.

    • Predictability. Due to the lack of a runtime, boxing and unboxing, the speed is predictable reducing many attacks which depend on timing information. The libraries are made to be run in constant-time which further improves security.

    Todo

    • [ ] Setup build scripts to use hardware AES, SIMD and LTO when available
      • [X] x86_64-pc-msvc-windows
      • [X] x86_64-linux-android
      • [X] aarch64-linux-android
      • [X] armv7-linux-androideabi
      • [X] x86_64-apple-ios
      • [X] x86_64-apple-darwin
      • [X] aarch64-apple-ios
      • [X] aarch64-apple-ios-sim
    • [x] Remove debug log statements I added for testing
    • [x] Improve error checking on the rust side
    • [ ] ~~Perform final compatibility testing (some old backups fail to restore, List<int> to Uint8List issue migration suspected).~~ Implementations are 100% compatible. The system errors out with null folder, last_changed. Need to retain backwards compatibility with old backups @HrX03
    • [ ] Integrate cargo with build systems for
      • [X] Windows
      • [X] Android
      • [ ] Linux
      • [x] iOS
      • [x] macOS
    • [x] Add documentation for
      • [x] How to build
      • [x] Algorithm and file format

    Signed-off-by: Akshit Garg [email protected]

    opened by gargakshit 0
  • Markdown editor

    Markdown editor

    Suggestion: I was wondering if it was possible to implement a markdown editor in leaflet? with this feature users can customize texts and embed links and would be extremely useful. Thank you!

    opened by Livewire13 0
  • issue with versionCode of v2.0.0

    issue with versionCode of v2.0.0

    The APK attached to the v2.0.0 release has versionCode: 20, while the older ones had a 4-digit versionCode. Hence Android will refuse to accept v2.0.0 as update. Is that intended? If one wants to update from e.g. 1.5.2 (versionCode: 2015) one has to uninstall and re-install, as Android won't permit the "downgrade" (you can increase versionCode as much as you like, but you can never decrease it).

    My guess is that you've now attached a universal APK only, while before you provided arch specific ones. That makes v2.0.0 exceed the size limit for my repo btw (where your app is currently listed), so I'd have to stop updates and revert back to 1.5.2 anyway. May I suggest you add the armeabi-v7 APK as well, which then would most likely fix both issues (versionCode: 2020 and size around 10M)?

    opened by IzzySoft 3
Releases(2.0.0+20)
  • 2.0.0+20(Jul 12, 2021)

    Finally after more than one year, the next iteration of the ex-PotatoNotes! Introducing Leaflet, POSP app for taking notes on the go!

    The new release features a complete rewrite with a brand new redesign, more security thanks to database encryption, a brand new backup and restore mechanism and cross platform compatibility with 5 platforms!

    This is just the first release of Leaflet and it still misses some features from the old app like sync and reminders, but i hope it's enough for now. Eventually the app will come back to full feature parity and even add more features, so stay tuned!

    Play store download: https://play.google.com/store/apps/details?id=com.potatoproject.notes AppStore download: https://apps.apple.com/us/app/leaflet-notes-and-todos/id1549589227

    (Note: MacOS version will be added really soon, had some small issues with it)

    Source code(tar.gz)
    Source code(zip)
    app-production-release.apk(33.62 MB)
    Leaflet-2.0.0-x86_64.AppImage(52.09 MB)
    LeafletLinux-v2.0.0+20.zip(11.03 MB)
    LeafletWindows-v2.0.0+20.zip(11.77 MB)
  • 2.0.0-beta3+18(May 17, 2021)

    This is a follow up to the beta 2 initially published on the telegram channel. The release contains some light fixes + an ios build, macos still has some stuff to fix up.

    Changelog since previous beta:

    • Some light layout fixes, mostly for iOS users
    • Import russian and polish translations
    • Now routes can be dismissed using escape
    • Introduced a script to generate a linux AppImage

    iOS testflight link: https://testflight.apple.com/join/QBNkZ2BT Note for linux users: You'll need to install gnome-keyring before being able to create notes. After it asks you for password, restart the app

    Source code(tar.gz)
    Source code(zip)
    app-production-release.apk(33.40 MB)
    Leaflet-x86_64.AppImage(22.15 MB)
    LeafletLinux-v2.0.0-beta3+18.zip(21.75 MB)
    LeafletWindows-v2.0.0-beta3+18.zip(11.46 MB)
  • 1.5.2+15(Mar 9, 2020)

  • 1.5.1+13(Feb 25, 2020)

    This is a rather small but useful update for PotatoNotes. Changelog:

    • The app is a lot more accessible for screen readers.
    • You can now select your own locale, so you aren't chained to your system locale anymore.
    • The note color selector ui has been remade from ground.
    • Made some improvements to app notifications.
    • Smaller code related improvements.

    Thanks for all the new installations and support. You guys are the best, looking forward to make this app the best notes app out there!

    Source code(tar.gz)
    Source code(zip)
    app-arm64-v8a-release.apk(8.34 MB)
    app-armeabi-v7a-release.apk(8.07 MB)
    app-x86_64-release.apk(8.51 MB)
  • 1.5.0+12(Feb 8, 2020)

    Time for a big and cool update! Hooray! Version 1.5.0 baby. Changelog:

    • Introduce a welcome page that is shown to users on first opening
    • Redesigned the app with a bottom bar navigation
    • Made system bars colors more stable
    • Now the app knows when the system theme changes and updates correctly
    • System accents switch when changing system theme
    • Notes on main page should update better

    If you encounter any bugs, please open an issue on https://github.com/HrX03/PotatoNotes/issues.

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(8.33 MB)
Owner
Potato Open Sauce Project
Haters gonna hate, potatoes gonna potate!
Potato Open Sauce Project
Fretboard-notes - An app to help you to remember notes on guitar fretboard

Fretboard Notes A Flutter project to help you to remember all notes on guitar fr

mooxiu 1 May 18, 2022
A Todo Notes Application developed with flutter, with basic functionalities to write quick Notes.

Notes Application - Flutter A Todo Notes Application developed with flutter, with basic functionalities to write quick Notes. NOTES PASSWORD-PROTECTED

Uttam 22 Jan 1, 2023
Notes is a good helper to manage your schedules and notes

Notes is a good helper to manage your schedules and notes. It gives you a quick and simple notepad editing experience when you write notes, memo, email, message, shopping list and to do list. It makes to take a note easier than any other notepad and memo apps.

thejorabek 11 Nov 16, 2022
Notes App created with Flutter and Appwrite.

Note Keeper A Flutter + AppWrite Project Note Keeper is a Note Creater App build with Flutter backed by AppWrite (An Open-Source Backend Server) ?? Fu

Tekeshwar Singh 13 Oct 22, 2022
Academic master is E-learning app where students can share their doubts wiith their peers they can chat and also they can find their notes

Academic Master is E-learning App. Features:- 1) You can post real Post query in Images and video formates. 2) We will Provide notes,books and previou

amit singh 25 Dec 14, 2022
A Clean looking modren and colorful notes app using a local database with sqflite

A Clean looking modren and colorful notes app using a local database with sqflite

Moaz Talaat 3 Sep 23, 2022
A simple crossplatform app for taking notes.

Notebook Introduction A simple app for taking notes. This application focuses on keeping the interface as minimal as possible to provide a stable and

Microsoft Learn Student Chapter, TIET 4 Nov 14, 2022
A simple notes creating mobile application developed in flutter and php for API

NoteBox A simple note mobile application for Andorid and iOS, to users can easily create and save personal notes in smart phone, this application crea

Rohit Chouhan 22 Dec 14, 2022
An Application built for students to access Notes , Question Papers , Syllabus and Resources for all Subjects of O.U (Osmania University) using Flutter 📘👨‍🎓

OU Notes [Osmania University (O.U)] . For the Students , By the Students. An Application for Osmania University students to access educational materia

Abdul Malik 212 Nov 20, 2022
Notes-bloc-flutter - Proyecto para administrar tareas implementando patrón bloc

notes_bloc A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Arnold Rodriguez 0 Jan 9, 2022
Take Notes Easily

scrawl - Take Notes Easily Description A simple notes app with offline and online backup. Uses Nextcloud to store your backup. Assign labels, set colo

RSoft 59 Dec 23, 2022
The official open source app of the GSDCs of Benin. Feel free to contribute and make this app great for every members

GDSC-Events-Benin The official open source app of the GSDCs of Benin. Feel free to contribute and make this app great for every members ?? Contributor

Junior Medehou 2 Feb 4, 2022
A non-official package to use QOSIC on your Dart and Flutter app

Qosic Dart A Very Good Project created by Very Good CLI. About ❓ This package is a simple way to handle Qosic's USSD payment. It allows you to integra

Elikem (Junior) Medehou 4 Dec 8, 2022
Koel Player, the official mobile app for Koel

Koel Player The mobile app for Koel, which provides a complete mobile app experience and doesn't have the limitations of the mobile web version. Suppo

Koel 227 Dec 27, 2022
AMURoboclub is the official app of AMURoboclub, a student body of ZHCET that nurtures the needs of curious and innovative minds

AMURoboclub is the official app of AMURoboclub, a student body of ZHCET that nurtures the needs of curious and innovative minds. It is the nerve center of robotics enthusiasts who are curious and innovative and wish to come together to learn and share. With the motto 'Where Innovation Meets Implementation', it endeavors to ignite young minds with the fuel of robotics. Enabling that, the app ensures to acquaint its users with the various activities and achievements of AMURoboclub.

AMU Roboclub 9 Dec 6, 2022
OneAppFlutter - An official event app for HackRU

One App Flutter The Official HackRU Flutter App Feel free to show some ❤️ and ⭐ the repo to support the project. Description What is the purpose of th

HackRU 24 Dec 10, 2022
Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.

Official Flutter packages for Stream Chat Quick Links Register to get an API key for Stream Chat Flutter Chat SDK Tutorial Chat UI Kit Sample apps Thi

Stream 659 Dec 25, 2022
A collection of pixel-perfect iOS-styled components and properties for Flutter, following the official guidelines.

cupertinew ⚠️ Experimental and work in progress ⚠️ A collection of pixel-perfect iOS-styled components and properties for Flutter, following the offic

Jeroen Meijer (Jay) 30 Nov 10, 2022
Official Flutter Tracking Library for Mixpanel Analytics

Table of Contents Introduction Quick Start Guide Install Mixpanel Initialize Mixpanel Send Data Check for Success I want to know more! Introduction We

Mixpanel, Inc 46 Jan 4, 2023