/chronicles

A journaling hobby project

Primary LanguageTypeScript

Chronicles

Electron based markdown journaling application, in the spirit of incremental note taking.

Status: Hobby project, prototyping and re-working UX to try out various concepts with little regard for usability, stability, or appearances.

Development

The app is a typical Electron dev setup, excepting the use of esbuild.

# install dependencies
yarn

# start the development build and watch script
yarn start

# If error with sqlite library versions
yarn run electron-rebuild

See scripts/dev.js for specifics on how the source files are compiled and re-loaded in development.

Tech stack

  • Electron and esbuild
  • Typescript
  • React and mobx
  • Slate and Plate (Notion style WSYIWYG)

Testing

  • Use yarn test to run unit tests
  • No end to end testing, yet

Unit tests rely on esbuild to bundle test files, after conflicts getting esm, ts-node, and mocha to play nice.

Build and release

  • Use yarn build
  • Make a Github release

At a high level, the build is comprised of:

  • generate bundles (esbuild) from source files
  • install production dependencies
  • re-build native dependencies for the targeted electron version
  • package the app