https://github.com/streetwriters/notesnook
A fully open source & end-to-end encrypted note taking alternative to Evernote.
https://github.com/streetwriters/notesnook
asp-net-core dotnet-core electron foss hacktoberfest note-managment note-taking note-taking-app notebook notes notes-app open-source opensource privacy productivity react react-native reactjs self-hosted
Last synced: 6 months ago
JSON representation
A fully open source & end-to-end encrypted note taking alternative to Evernote.
- Host: GitHub
- URL: https://github.com/streetwriters/notesnook
- Owner: streetwriters
- License: gpl-3.0
- Created: 2021-04-01T17:25:54.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-05-06T08:34:21.000Z (6 months ago)
- Last Synced: 2025-05-06T16:12:04.312Z (6 months ago)
- Topics: asp-net-core, dotnet-core, electron, foss, hacktoberfest, note-managment, note-taking, note-taking-app, notebook, notes, notes-app, open-source, opensource, privacy, productivity, react, react-native, reactjs, self-hosted
- Language: TypeScript
- Homepage: https://notesnook.com/
- Size: 242 MB
- Stars: 11,748
- Watchers: 72
- Forks: 756
- Open Issues: 1,270
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Authors: AUTHORS
Awesome Lists containing this project
- fucking-Awesome-Linux-Software - ![Open-Source Software - A fully open source & end-to-end encrypted note taking alternative to Evernote. (Applications / Productivity)
- awesome-foss-alternatives - Notesnook - A fully open source & end-to-end encrypted note taking alternative to Evernote. [TS, GNU General Public License v3.0]. (Collaboration / Note-taking / Personal Knowledge Management (Evernote alternatives))
- fucking-open-source-ios-apps - Notesnook - to-end encrypted and private note taking alternative to Evernote (Text / Notes)
- Awesome-Linux-Software - .
## Developer guide
### Technologies & languages
Notesnook is built using the following technologies:
1. JavaScript/Typescript — this repo is in a hybrid state. A lot of the newer code is being written in Typescript & the old code is slowly being ported over.
2. React — the whole front-end across all platforms is built using React.
3. React Native — For mobile apps we are using React Native
4. Electron — For desktop app
5. NPM — listed here because we **don't** use Yarn or PNPM or XYZ across any of our projects.
6. Nx — maintaining monorepos is hard but Nx makes it easier.
> **Note: Each project in the monorepo contains its own architecture details which you can refer to.**
### Monorepo structure
| Name | Path | Description |
| -------------------------- | -------------------------------------------------- | -------------------------------------------------------------------- |
| `@notesnook/web` | [/apps/web](/apps/web) | Web client |
| `@notesnook/desktop` | [/apps/desktop](/apps/desktop) | Desktop client |
| `@notesnook/mobile` | [/apps/mobile](/apps/mobile) | Android/iOS clients |
| `@notesnook/web-clipper` | [/extensions/web-clipper](/extensions/web-clipper) | Web clipper |
| `@notesnook/core` | [/packages/core](/packages/core) | Shared core between all platforms |
| `@notesnook/crypto` | [/packages/crypto](/packages/crypto) | Cryptography library wrapper around libsodium |
| `@notesnook/clipper` | [/packages/clipper](/packages/clipper) | Web clipper core handling everything related to actual page clipping |
| `@notesnook/editor` | [/packages/editor](/packages/editor) | Notesnook editor + all extensions |
| `@notesnook/editor-mobile` | [/packages/editor-mobile](/packages/editor-mobile) | A very thin wrapper around `@notesnook/editor` for mobile clients |
| `@notesnook/logger` | [/packages/logger](/packages/logger) | Simple & pluggable logger |
| `@notesnook/sodium` | [/packages/sodium](/packages/sodium) | Wrapper around libsodium to support Node.js & Browser |
| `@notesnook/streamable-fs` | [/packages/streamable-fs](/packages/streamable-fs) | Streaming interface around an IndexedDB based file system |
| `@notesnook/theme` | [/packages/theme](/packages/theme) | The core theme used in web & desktop clients |
### Contributing guidelines
If you are interested in contributing to Notesnook, I highly recommend checking out the [contributing guidelines](/CONTRIBUTING.md). You'll find all the relevant information such as [style guideline](/CONTRIBUTING.md#style-guidelines), [how to make a PR](/CONTRIBUTING.md#opening--submitting-a-pull-request), [how to commit](/CONTRIBUTING.md#commit-guidelines) etc., there.
### Support & help
You can reach out to us via:
1. [Email](mailto:support@streetwriters.co)
2. [Discord](https://discord.gg/5davZnhw3V)
3. [Twitter](https://twitter.com/notesnook)
4. [Create an issue](https://github.com/streetwriters/notesnook/issues/new)
We take all queries, issues and bug reports that you might have. Feel free to ask.
## Additional Resources
- [Migrating & Importing your data from other apps — Importer](https://importer.notesnook.com/)
- [Privacy policy](https://notesnook.com/privacy) & [Terms of service](https://notesnook.com/terms)
- [Verify Notesnook encryption claims yourself — Vericrypt](https://vericrypt.notesnook.com/)
- [Why Notesnook requires an email address?](https://blog.notesnook.com/why-notesnook-requires-an-email-address/)