Giter Site home page Giter Site logo

noteapp's Introduction

✍️ Notes - A simple note-taking Android app

Welcome! Notes is a simple but effective app for taking plain text notes and making check lists, developed and currently maintained by Rova.
It started as a little playground to learn a new dev framework but quickly evolved into the desire to create a meaningful product.
Apps these days tend to offer an elaborate set of features, at the cost of asking the user for many permissions. Notes takes the opposite approach: it carefully picks a small set of essential features so that the user does not have to worry about security and privacy related issues. Your data is yours to keep.

📲 How to install it

Due to costs, the app is not available on any of the mainstream app platforms (namely Apple AppStore and Google Play). It is only possible to obtain the app for Android through this GitHub repository or IzzyOnDroid's F-Droid repo.
To install it, head over to the Releases section and download the most recent version. Each release offers an apk for the three main mobile architectures (and a fat apk compatible with any of those three architectures, if you are unsure which one your phone is built on). Download the right one for your phone and simply tap on the file to install the app. Voilà, everything is ready to go!

Important

For security reasons, Android phones do not allow the installation of apk files from untrusted sources, i.e. the internet. If the installation of the apk is blocked, please look up a guide for your operative system on how to disable this rule.

Note

IzzyOnDroid's repo only offers the arm6-v8a build.

📖 What it can do

Ok, the app is installed. But actually... what can it do?

The app is equipped with a toolbar on the bottom right of the screen, use it to create new notes or to head over to the settings page (a reminder text is shown when no notes exist). On the main page you can access the full list of your notes. You can open them by tapping their tile or delete them by swiping left on them. Moreover, you can pin them at the top of the list by long pressing on them.

There currently are two types of notes: plaintext notes and checklists. Plaintext notes are simple notes with a title and body you can write on. Checklists are notes with a title and groups of elements. Each element can contain a short text and can be marked as completed.

Note

Please refer to this section for a full description of how to use checklists at their best.

Through the settings page it is possible to select the theme of the app. The app currently offers a short selection of predefined themes, including a couple dark ones for the lovers of low brightness and high contrast. In this page it is also possible to find useful links and info.

Lastly, the toolbar is equipped with a button for saving locally a zipped version of the notes, so that they can be exported in text format. This functionality is under revision since it is not consistent with its desired behaviour.

⚙️ How it is implemented

The project is fully implemented in Dart using the Flutter framework. This choice was based solely on personal interest, but it empowers the project with the possibility of easily extending the ecosystem with clients for various platforms.

Note

Want to contribute? Feel free to contact Rova to introduce yourself and get more info about the project!

🚀 Roadmap

⚪ ✅ Version 1
⬇️     ↘️ Plaintext notes
⬇️
⚪ ✅ Version 2
⬇️     ↘️ Checklist notes
⬇️     ↘️ Pin/unpin system
⬇️
⚪ ✅ Recovery update
⬇️     ↘️ Recovery from failure on notes loading
⬇️     ↘️ Export notes in text format
⬇️
⚪ ✅ Colorful update
⬇️     ↘️ Color themes
⬇️     ↘️ New toolbar
⬇️
⚪ ✅ Checklist overhaul
⬇️     ↘️ Groups in checklists
⬇️
⚪ 🔜 Zippy update
⬇️     ↘️ Improve notes export system
⬇️
⚪ ⏸️ Beauty update
⬇️     ↘️ UI improvements
⬇️     ↘️ Animations
⬇️
⚪ ⏸️ Tidy update
⬇️     ↘️ Rework of part of the codebase
⬇️     ↘️ Extend checklist keyboard functionalities
⬇️
⚪ ⏸️ Sync update
⬇️     ↘️ Accounts
⬇️     ↘️ Cloud save of notes
⬇️     ↘️ Multi-device sync
⬇️
⚪ ⏸️ Web client
⬇️     ↘️ Notes web-app
⬇️
⚪ ❓
⬇️
⚪ 🏁

©️ Licensing and forking

GPL Licence

This project is and always will be open-source and non-profit. The project is released under GNU General Public License v3.0. Feel free to fork it or download it for personal use. If you modify it we would really appreciate you mentioning all the current contributors on this project.

🗺️ Navigating the repo

Starting from version 3 of the Android app it has been decided to revisit the organization of the repo. It is possible to access old code of the Android app through an "archive" branch android-prev-versions. The currrent development of the Android app is found in the branch android-app while the main branch contains code for the latest stable version released.

✏️ Final comments

Bugs and new features

You can report bugs or request features here.

A complete guide to checklists

  • New checklists are created containing an empty group.
  • You can change the checklist title the same way as plaintext notes.
  • You can change a group name by tapping on its name.
  • To add a new unchecked element tap on "add element" of the corresponding group.
  • To add a new empty group tap on "add group".
  • To change the content of an element, tap on its content when unchecked. It is not possible to change the content of a checked element (it is necessary to uncheck it and then modify it).
  • To delete a group slide left over its name or its unchecked items.
  • To mark an element as completed tap on its empty checkbox.
  • To mark an element as not completed tap on its checked box.
  • To delete an element slide left on it if it is already checked. Unchecked elements cannot be deleted.
  • To collapse/uncollapse the list of checked elements of a group, tap on the separator line.

noteapp's People

Contributors

rovati avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

noteapp's Issues

app catalog

First: thanks for making your app available open-source using a libre license!

Second, in your Readme I discovered the following statement:

Due to costs, the app is not available on any of the mainstream app platforms (namely Apple AppStore and Google Play). It is only possible to obtain the app for Android through this GitHub repository.

And I thought I can help with that. To make your app easier to discover, install and keep it updated on-device, there is more than the "mainstream app platforms" – there are also libre FOSS platforms. So I took the freedom to add your app to my F-Droid repository, where it will show up in less than an hour (around 6 pm UTC, with the next sync). Be welcome to pick a badge and link there e.g. from the install instructions of your Readme!

I hope you like this idea. And while my repo is already well-known (listing more than 1.111 apps now with yours), if you wish for an even broader audience and additional trust, you could aim to bring your app to F-Droid.org itself. F-Droid builds apps from their resp. source, which then confirms the APK matches that. With reproducible builds, it then would ship the app signed by you for double-confidence: F-Droid this way confirms the app was built from the source you provided, while your signature confirms it was really your source.

Due to costs

No money involved – though this takes some of your and their/our time (disclosure: I'm one of the maintainers there, too). So let me know if this interests you, and I give you details on that.

That said: Enjoy 😃

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.