Goals

April 11, 2021 ยท View on GitHub

Hi everyone, thank for your interest in this project. This is the still-in-development version of Connected Notes, a note taking app based on Zettelkasten. Some major features are still missing (see below for full list).

I have set up a test version at connectednotes.net - I wouldn't use it for anything serious just yet, but I'd love to get some feedback via github bugs or IRC messages.

Goals

  • A modern take on Zettelkasten
  • Progressive web app (PWA) usable from both mobile and desktop
  • Low upkeep cost combined with open-sourcing to give reasonable long-term support
  • Give users as much control over their notes as possible
    • Notes are synced in personal cloud (currently Google Drive works)
    • Store notes in plain text with any metadata stored separately
    • Possibly support for local notes (although so far only Chrome has any sort of filesystem API available)
  • Markdown based
  • Graph view for exploring notes easily
  • Open source (duh)

Current status

Integration with Google Drive works - however, since this is beta changes are possible.

Running locally

First, run npm install && ng serve

Then, navigate to localhost:4200/gd for the Google Drive backed version. I've included an API key that works when serving on ports 4200, 5000 and 8080. This API key is separate from prod and only able to use the drive API so there shouldn't be risk in having it committed (right...?).

Major missing features

  • Search from note contents (not just titles)
  • Reasonable offline support
  • Settings to control eg. showing timestamps on notes
  • Proper testing with browsers other than Chrome
  • Sorting notes by different criteria (eg. creation time, modification time)
  • Disentangle anything firebase related from the current app
  • Dropbox integration
  • On the technical side, needs more tests (currently only some default tests exist).

Tech stack

Angular (ie. Typescript) is the main framework. Codemirror is used to provide markdown highlighting, marked.js provides markdown rendering.

Comparison to other Zettelkasten-ish note taking apps

While there are some other open source Zettelkasten based note taking apps (shoutout to the great Zettlr) AFAIK none of those provide direct integration with cloud storage, accessibility via web/mobile and first-class flashcard integration.

Also, many such apps (open source or not) are currently based on Electron, which has its own set of problems.

Setting up your own instance

The only gotcha when setting up your own instance is that you need to create Google Drive API key and replace the current one with that (the API key only allows certain domains). Aside from that, everything deploying it should be a breeze.

In addition, analytics currently works only for connectednotes.net so that would need to be set up.

Contact me

tsiki @ freenode/IRCnet

Or just create a github bug