Skip to content

rosano/emojilog

Repository files navigation

Project logo

Measure your progress

Emoji Log helps you measure your progress by making it simple to track when meaningful steps are taken. Read the guide for more details.

Open app

Architecture

The project follows a Universal folder structure and is a large collection of mostly small modules or functions that are put together using Svelte and Rollup. With the exception of a few 'global' or 'magic' things such as the localization function OLSKLocalized, most resources used by a module should be in the same folder or referenced by path name.

Routing, rendering markdown content, and serving pages is done via a Node.js server (usually configured in the controller.js files).

Development Setup

(For a deeper dive, watch the tutorial).

Install Node.js and npm, then:

npm run setup

This should create an .env file if there is none. If you encounter errors referring to this file, you can find missing variables in .env-sample.

Running

Start the Rollup process to build and reload automatically

npm run watch

Start the Node.js server to view in the browser

npm start

It should be accessible at http://localhost:3000.

Testing

See Testing logic and interfaces for a tutorial.

Run logic tests

npm test 

Run interface tests

npm test ui

To filter interface test paths by string:

npm test ui match=Timer

To filter interface test paths by JavaScript regular expressions:

npm test ui match='/(template|browse)/'

❤️

Help me keep creating projects that are public, accessible for free, and open-source.

Become a backer

License

The code is released under a Hippocratic License, modified to exclude its use for surveillance capitalism and also to require large for-profit entities to purchase a paid license.

Questions

Feel free to reach out on Mastodon or Twitter.