Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rosano/kommit
Augment your memory.
https://github.com/rosano/kommit
0data fission flashcards local-first offline-first remotestorage single-page-app spa spaced-repetition svelte sveltejs unhosted
Last synced: about 15 hours ago
JSON representation
Augment your memory.
- Host: GitHub
- URL: https://github.com/rosano/kommit
- Owner: rosano
- License: other
- Created: 2020-06-25T14:14:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-20T11:26:11.000Z (11 months ago)
- Last Synced: 2024-10-29T18:40:10.210Z (18 days ago)
- Topics: 0data, fission, flashcards, local-first, offline-first, remotestorage, single-page-app, spa, spaced-repetition, svelte, sveltejs, unhosted
- Language: JavaScript
- Homepage: https://kommit.rosano.ca
- Size: 1.72 MB
- Stars: 27
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# [Kommit](https://kommit.rosano.ca)
_Augment your memory_
Kommit is an app to help you with memorization. Inspired by [Anki](https://apps.ankiweb.net) and other spaced-repetition learning systems, it presents flashcards to you just before your brain is likely to forget, thereby strengthening memory while reducing study time. Read the guide for more details.
## Architecture
The project follows a [Universal folder structure](https://rosano.hmm.garden/01f71kp52knc5nnv08qr9kzj3m) and is a large collection of mostly small modules or functions that are put together using [Svelte](https://svelte.dev) and [Rollup](https://rollupjs.org). 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](https://rosano.hmm.garden/01f62t5yseb053m024v1mczbzy)).
Install [Node.js and npm](https://nodejs.org/en/download/), 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](https://rosano.hmm.garden/01f7v3hk3txz5d0v9ms467x8bz) 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=Browse
```To filter interface test paths by JavaScript regular expressions:
```
npm test ui match='/(play|browse)/'
```## ❤️
Help me keep creating projects that are public, accessible for free, and open-source.
## License
The code is released under a [Hippocratic License](https://firstdonoharm.dev), 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](https://mastodon.online/@rosano) or [Twitter](https://twitter.com/rosano).