notesnook README

The project's README from github.com/streetwriters/notesnook. As one markdown file: README.md.

Notesnook Logo

Notesnook

An end-to-end encrypted note taking alternative to Evernote.

Website | About us | Roadmap | Downloads | Twitter | Discord

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. We aim 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 feature 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. Electron — For desktop app
  5. NPM — listed here because we don't use Yarn or PNPM or XYZ across any of our projects.

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 client
@notesnook/desktop /apps/desktop Desktop client
@notesnook/mobile /apps/mobile Android/iOS clients
@notesnook/web-clipper /extensions/web-clipper Web clipper
@notesnook/core /packages/core Shared core between all platforms
@notesnook/crypto /packages/crypto Cryptography library wrapper around libsodium
@notesnook/clipper /packages/clipper Web clipper core handling everything related to actual page clipping
@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/sodium /packages/sodium Wrapper around libsodium to support Node.js & Browser
@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

notesnook (streetwriters/notesnook)

Searching Database…

14.8K ·GitHub
Что это?Notesnook — бесплатное полностью открытое приложение для заметок со сквозным шифрованием, которое позиционируется как альтернатива Evernote, ориентированная на приватность.
Это одно приложение или монорепозиторий с несколькими клиентами?Это монорепозиторий, в котором находятся веб-, десктопный и мобильный (Android/iOS) клиенты, а также общие пакеты, такие как core, crypto и editor.
Как настроить окружение для разработки?После клонирования запустите скрипт начальной настройки (npm run prepare, который выполняет husky install && npm run bootstrap), затем используйте команды сборки проекта, например npm run build:web для веб-клиента.
Нужны ли мне Yarn или pnpm для работы над проектом?Нет, в проекте во всех его частях используется только NPM, а не Yarn, pnpm или аналогичные инструменты.
Зачем Notesnook требует адрес электронной почты, если он ориентирован на приватность?В README это отмечено как известный источник путаницы, и есть ссылка на отдельное объяснение; из этого следует, что почта нужна, несмотря на подход с нулевым доступом к данным.
Как на самом деле шифруются мои данные?Notesnook шифрует всё прямо на устройстве пользователя, используя XChaCha20-Poly1305 для шифрования и Argon2 для выработки ключа, следуя принципам с нулевым доступом к данным.
Можно ли импортировать заметки из других приложений, например из Evernote?Да, для переноса и импорта данных из других приложений для заметок в README упоминается отдельный инструмент под названием Importer.
Могу ли я сам проверить заявления о шифровании?Да, есть отдельный инструмент Vericrypt, созданный специально для того, чтобы пользователи могли самостоятельно проверить заявления Notesnook о шифровании.
На каких технологиях работают клиенты?Интерфейс на всех платформах построен на React, для мобильных приложений используется React Native, для десктопного клиента — Electron. Код написан на смеси JavaScript и TypeScript.
Есть ли веб-клиппер?Да, в монорепозиторий входят расширение web-clipper и его основная логика сохранения веб-страниц как отдельные пакеты.
What are similar projects?Trilium, PrivacyNotes.app, joplin, blinko, siyuan, devhub, ente, docs
Size
297.1 MB
Stars
14.8K
Age
5y
Commits · 90 Days