Notesnook

一个完全开源的端到端加密笔记,Evernote 替代品。「A fully open source & end-to-end encrypted note taking alternative to Evernote.」

Github星跟踪图

Overview

Notesnook is a free (as in speech) & open source note taking app focused on user privacy & ease of use. To ensure zero knowledge principles, Notesnook encrypts everything on your device using XChaCha20-Poly1305 & Argon2.

Notesnook is our proof that privacy does not (always) have to come at the cost of convenience. Our goal is to provide users peace of mind & 100% confidence that their notes are safe and secure. The decision to go fully open source is one of the most crucial steps towards that.

This repository contains all the code required to build & use the Notesnook web, desktop & mobile clients. If you are looking for a full features list or screenshots, please check the website.

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. NPM — listed here because we don't use Yarn or PNPM or XYZ across any of our projects.
  5. Lerna & 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 Web/Desktop clients
@notesnook/mobile /apps/mobile Android/iOS clients
@notesnook/core /packages/core Shared core between all platforms
@notesnook/crypto /packages/crypto Cryptography library wrapper around libsodium
@notesnook/editor /packages/editor Notesnook editor + all extensions
@notesnook/editor-mobile /packages/editor-mobile A very thin wrapper around @notesnook/editor for mobile clients
@notesnook/logger /packages/logger Simple & pluggable logger
@notesnook/crypto-worker /packages/crypto-worker Helpers to use @notesnook/crypto from a Worker
@notesnook/streamable-fs /packages/streamable-fs Streaming interface around an IndexedDB based file system
@notesnook/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. You'll find all the relevant information such as style guideline, how to make a PR, how to commit etc., there.

Support & help

You can reach out to us via:

  1. Email
  2. Discord
  3. Twitter
  4. Create an issue

We take all queries, issues and bug reports that you might have. Feel free to ask.

Additional Resources

主要指标

概览
名称与所有者streetwriters/notesnook
主编程语言TypeScript
编程语言 (语言数: 14)
平台linux, Mac, Windows, Android
许可证GNU General Public License v3.0
所有者活动
创建于2021-04-01 17:25:54
推送于2025-06-11 09:07:42
最后一次提交2025-06-09 23:18:11
发布数292
最新版本名称v3.2.0-beta.8 (发布于 )
第一版名称v1.3.5 (发布于 )
用户参与
星数12.1k
关注者数74
派生数773
提交数13.4k
已启用问题?
问题数6908
打开的问题数1306
拉请求数1006
打开的拉请求数45
关闭的拉请求数74
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?