No description
  • TypeScript 82.8%
  • JavaScript 15.2%
  • CSS 0.8%
  • HTML 0.4%
  • Java 0.3%
  • Other 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
0xGingi 2e7f7d3ee3
Fix desktop build
Signed-off-by: 0xGingi <104647854+0xGingi@users.noreply.github.com>
2024-10-30 17:07:25 -04:00
.github ci: publish versioned monograph docker image 2024-10-26 15:47:24 +05:00
.husky config: fix commit lint error 2022-08-30 13:31:14 +05:00
.vscode config: fix eslint on vscode 2023-07-06 08:34:07 +05:00
apps monograph: bump version to 1.1.0 2024-10-26 15:44:10 +05:00
docs/help docs: update analytics script 2024-10-28 08:27:09 +05:00
extensions/web-clipper global: publish packages 2024-09-23 15:47:09 +05:00
fastlane/metadata/android/en-US mobile: release v3.0.18 2024-09-25 11:02:09 +05:00
packages Fix desktop build 2024-10-30 17:07:25 -04:00
resources global: update logo 2024-04-29 13:24:54 +05:00
scripts ci: add monograph publishing workflow 2024-10-02 15:27:24 +05:00
servers/themes global: publish packages 2024-09-23 15:47:09 +05:00
.commitlintrc.js mobile: migrate app to intl 2024-10-10 12:35:58 +05:00
.eslintignore web: fix many type errors 2024-03-21 11:14:53 +05:00
.eslintrc.js core: migrate settings to its own collection 2024-03-21 11:03:14 +05:00
.gitattributes config: force unix style line endings 2023-06-26 13:14:28 +05:00
.gitignore config: update nx 2024-03-21 10:56:00 +05:00
.prettierignore config: update nx 2024-03-21 10:56:00 +05:00
.prettierrc.js config: force unix style line endings 2023-06-26 13:14:28 +05:00
.watchmanconfig mobile: finalize note linking 2024-03-21 11:21:00 +05:00
AUTHORS chore: add Muhammad Ali to AUTHORS list 2023-01-04 15:26:18 +05:00
CODE_OF_CONDUCT.md docs: add changes suggested by npm lint 2022-09-05 01:21:47 +05:00
CONTRIBUTING.md misc: remove all mention of crypto-worker 2023-09-04 15:58:38 +05:00
lerna.json global: implement the new theme engine (#2196) 2023-08-01 12:07:21 +05:00
LICENSE docs: add license header 2022-08-30 16:17:04 +05:00
nx.json web: fix reminder tests 2024-03-21 11:14:56 +05:00
package-lock.json web: localize 2024-10-10 12:35:58 +05:00
package.json mobile: migrate app to intl 2024-10-10 12:35:58 +05:00
README.md misc: remove all mention of crypto-worker 2023-09-04 15:58:38 +05:00
tsconfig.json global: remove maxNodeModuleJsDepth from tsconfig 2023-08-14 09:54:57 +05:00
tsup.config.ts global: use tsup for bundling packages 2024-09-23 15:32:13 +05:00

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.
  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 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