All Projects → federicoiosue → Omni Notes

federicoiosue / Omni Notes

Licence: gpl-3.0
Open source note-taking application for Android

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects
kotlin
9241 projects

Projects that are alternatives of or similar to Omni Notes

Paperwork
Paperwork - OpenSource note-taking & archiving alternative to Evernote, Microsoft OneNote & Google Keep
Stars: ✭ 7,838 (+234.53%)
Mutual labels:  evernote, notes, notebook, google-keep
Web
A free, open-source, and completely encrypted notes app. https://standardnotes.com
Stars: ✭ 3,061 (+30.64%)
Mutual labels:  note-taking, evernote, notes
monte-note
Note taking application with a rich set of editing and management features
Stars: ✭ 63 (-97.31%)
Mutual labels:  notebook, notes, note-taking
nixnote2
Nixnote - Evernote desktop client for Linux
Stars: ✭ 281 (-88.01%)
Mutual labels:  notes, note-taking, evernote
Sublimenotebook
📝 Make Sublime Text your favorite note taking/journal application
Stars: ✭ 203 (-91.34%)
Mutual labels:  note-taking, notes, notebook
Vscodenotebook
📝 Use VS Code as a reliable note-taking/journal application
Stars: ✭ 584 (-75.07%)
Mutual labels:  note-taking, notes, notebook
notesnook
A fully open source & end-to-end encrypted note taking alternative to Evernote.
Stars: ✭ 5,098 (+117.58%)
Mutual labels:  notebook, notes, note-taking
flawesome
Productivity Tool
Stars: ✭ 56 (-97.61%)
Mutual labels:  notebook, notes, note-taking
Whatever
An unofficial Evernote desktop client for Linux
Stars: ✭ 356 (-84.81%)
Mutual labels:  evernote, notes, notebook
Nb
CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script.
Stars: ✭ 3,846 (+64.15%)
Mutual labels:  note-taking, notes, notebook
Yana
Powerful note-taking app with nested documents, full-text search, rich-text editor, code snippet editor and more
Stars: ✭ 87 (-96.29%)
Mutual labels:  notes, notebook, free
Notejot
Stupidly-simple notes app.
Stars: ✭ 138 (-94.11%)
Mutual labels:  note-taking, notes, notebook
Thehive
TheHive: a Scalable, Open Source and Free Security Incident Response Platform
Stars: ✭ 2,300 (-1.84%)
Mutual labels:  free, open-source
Imaginary Teleprompter
Professional grade, free software, teleprompter app.
Stars: ✭ 157 (-93.3%)
Mutual labels:  free, open-source
Micropad Core
µPad (MicroPad) is an open digital note taking app
Stars: ✭ 165 (-92.96%)
Mutual labels:  notes, notebook
Tagspaces
TagSpaces is an offline, open source, document manager with tagging support
Stars: ✭ 2,451 (+4.61%)
Mutual labels:  note-taking, open-source
Startbootstrap Creative
Start Bootstrap is an open source library of free Bootstrap themes and templates. All of the free themes and templates on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects.
Stars: ✭ 1,900 (-18.91%)
Mutual labels:  free, open-source
Startbootstrap Thumbnail Gallery
A Bootstrap thumbnail gallery template created by Start Bootstrap
Stars: ✭ 166 (-92.92%)
Mutual labels:  free, open-source
Startbootstrap Freelancer
Start Bootstrap is an open source library of free Bootstrap themes and templates. All of the free themes and templates on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects.
Stars: ✭ 2,304 (-1.66%)
Mutual labels:  free, open-source
Yarle
Yarle - The ultimate converter of Evernote notes to Markdown
Stars: ✭ 170 (-92.74%)
Mutual labels:  note-taking, evernote

icon

Omni-Notes

License CI workflow CodeQL Workflow Sonarcloud Coverage Sonarcloud Maintainability Crowdin GitHub release

Note taking open-source application aimed to have both a simple interface but keeping smart behavior.

The project was inspired by the absence of such applications compatible with old phones and old versions of Android. It aims to provide an attractive look and follow the most recent design guidelines of the Google operating system.

Follow the developments and post your comments and advice on Facebook Community at https://www.facebook.com/OmniNotes

Help to keep translations updated is always welcome, if you want give a hand checkout the translation project on https://translate.omninotes.app.

Get it on F-Droid Get it on Google Play

If you're willing to help speeding up developments please also opt-in for the Alpha version of the app following continuous delivery principles:

Get it on Google Play

Features

Currently the following functions are implemented:

  • Material Design interface *Basic add, modify, archive, trash and delete notes actions
  • Share, merge and search notes
  • Image, audio and generic file attachments
  • Manage your notes using tags and categories
  • To-do list
  • Sketch-note mode
  • Notes shortcut on home screen
  • Export/import notes to backup
  • Google Now integration: just tell "write a note" followed by the content
  • Multiple widgets, DashClock extension, Android 4.2 lockscreen compatibility
  • Multilanguage: 30+ languages supported: https://crowdin.com/project/omni-notes

Further developments will include:

  • Notes sychronization
  • Web interface to manage notes (stub project)

You can find a complete changelog inside the application settings menu!

If you need some help on how to use the application you'll find everything you need in the Help Online section.

User guide

Look into the wiki for GIFs-based tutorials: LINK

Build

Watch the following terminal session recording on how to compile distributable files asciicast

To be sure that build environment is fully compliant with the project the following command creates a container with all the needed tools to compile the code:

cd {project-folder}; rm local.properties; docker rm android-omninotes; docker run -v $PWD:/workspace --name android-omninotes tabrindle/min-alpine-android-sdk:latest bash -c "mkdir -p ~/.android && touch ~/.android/repositories.cfg && yes | sdkmanager --update &>/dev/null && cd /workspace && ./gradlew clean build --stacktrace -Dorg.gradle.daemon=true -Pandroid.useDeprecatedNdk=true"

Test

To execute all tests included into the project connect a device or emulator, then run the following command:

./gradlew testAll

Testing Pyramid

To speedup the development more levels of testing are available following the testing pyramid approach, each type test requires more time than the previous one.

Unit Tests

./gradlew --stacktrace test

Integration Tests

./gradlew --stacktrace -Pandroid.testInstrumentationRunnerArguments.notAnnotation=androidx.test.filters.LargeTest connectedAndroidTest

UI Tests

./gradlew --stacktrace -Pandroid.testInstrumentationRunnerArguments.annotation=androidx.test.filters.LargeTest connectedPlayDebugAndroidTest

Notice that in this case I specified a single flavor to run tests on. This could be a useful and faster approach when you're testing specific flavor features.

Contributing

Due to the fact that I'm using gitflow as code versioning methodology, you as developer should always start working on develop branch that contains the most recent changes.

There are many features/improvements that are not on my roadmap but someone else could decide to work on them anyway: hunt for issues tagged as Help Wanted to find them!

Feel free to add yourself to contributors.md file.

New feature or improvements contributions

This kind of contributions must have screenshots or screencast as demonstration of the new additions.

Code style

If you plan to manipulate the code then you'll have to do it by following a specific code style. Also pay attention if you're using any plugin that automatically formats/cleans/rearrange your code and set it to only change that code that you touched and not the whole files.

Test your code contributions!

All code changes and additions must be tested. See the related section for more informations or this two pull requests comments: one and two

Forking project

When forking the project you'll have to modify some files that are strictly dependent from my own development / build / third-party-services environment. Files that need some attention are the following:

  • gradle.properties: this is overridden by another file with the same name inside the omniNotes module. You can do the same or leave as it is, any missing property will let the app gracefully fallback on a default behavior.

Code quality

A public instance of SonarQube is available both to encourage other developers to improve their code contributions (and existing code obviously) and to move the project even further into transparency and openness.

Checkout for it here

Pull requests will be automatically analyzed and rejected if they'll rise the code technical debt.

Dependencies

They're all listed into the build.gradle file but due to the fact that many of the dependences have been customized by me I'd like to say thanks here to the original developers of these great libraries:

Mentioned on

XDA Android Authority Droid Advisor Addictive Tips Techalook DZone Slash Gear quaap.com

Developed with love and passion by

License

Copyright 2013-2021 Federico Iosue

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].