Skip to content
This repository was archived by the owner on Sep 16, 2024. It is now read-only.

Commit da6a5e4

Browse files
committed
docs: update README
1 parent a61345c commit da6a5e4

File tree

11 files changed

+1092
-7
lines changed

11 files changed

+1092
-7
lines changed

README.md

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,79 @@
11
# memotica
22

3-
An easy, fast, and minimalist space repition application for the terminal
3+
An easy, fast, and minimalist space repetition application for the terminal
4+
5+
![Main screen screenshot](./assets/memotica_tui.svg)
6+
7+
## Features
8+
9+
- Markdown support for flashcards.
10+
- Advanced spaced repetition with the SM2 algorithm.
11+
- Keyboard-First navigation.
12+
- Easy to add, edit and delete decks and flashcards.
13+
14+
## WIP
15+
16+
memotica is nearly ready for use, but I there are some features that I would like to implement before reaching version `v1.0.0`:
17+
18+
- Customizable space repetition algorithm.
19+
- Import command.
20+
- Interoperability with Anki.
21+
- Sub-decks support.
22+
- Better flashcards management.
23+
- Basic statistics.
24+
- Visual indicators.
25+
26+
## Motivation
27+
28+
Recently, I began to study German and a bit of Japanese. At the same time I was also playing with the idea of playing a bit more with [textual](https://textual.textualize.io/). After encountering some issues with the Anki application on Linux, I decided that it would be a great idea to create a similar application more tailored for my needs and usage.
29+
30+
## Screenshots
31+
32+
![Help modal](./assets/memotica_help.svg)
33+
![Review Screen](./assets/memotica_review_answer.svg)
34+
35+
## Installation
36+
37+
> memotica automatically creates a directory in the most appropriate location based on your operating system. This directory contains a SQLite database where all your decks and flashcards are stored. You can learn more about how this is done [here](https://click.palletsprojects.com/en/8.1.x/api/#click.get_app_dir).
38+
39+
### Using `pip`
40+
41+
```bash
42+
pip install memotica
43+
```
44+
45+
### With `pipx` (recommended)
46+
47+
```bash
48+
pipx install memotica
49+
```
50+
51+
## Usage
52+
53+
Once memotica is installed, you should have the `memotica` command available. To start the TUI simply run:
54+
55+
```bash
56+
memotica
57+
```
58+
59+
Or, if you want to see the help message and other available commands, run:
60+
61+
```bash
62+
memotica --help
63+
```
64+
65+
Once the TUI is displayed, you can:
66+
67+
- **Display the help message** by pressing `F1`.
68+
- **Add a new deck** by pressing `ctrl + n`.
69+
- **Add flashcards** with `ctrl+a`.
70+
71+
After you've added flashcards, select a deck in the deck tree and press `ctrl+s` to begin the review process.
72+
73+
## Help is Welcome
74+
75+
If you have any suggestions or would like to contribute to this project, please feel free to open an issue. Thank for your interest!
76+
77+
## Thanks
78+
79+
I took inspiration and implement various aspects of memotica by reviewing and studying the source code from [harlequin.sh](https://harlequin.sh/).

assets/memotica_add_flashcard.svg

Lines changed: 148 additions & 0 deletions
Loading

assets/memotica_help.svg

Lines changed: 145 additions & 0 deletions
Loading

assets/memotica_review_answer.svg

Lines changed: 143 additions & 0 deletions
Loading

assets/memotica_review_question.svg

Lines changed: 137 additions & 0 deletions
Loading

assets/memotica_tui.svg

Lines changed: 140 additions & 0 deletions
Loading

assets/memotica_tui_light.svg

Lines changed: 140 additions & 0 deletions
Loading

assets/memotica_update_flashcard.svg

Lines changed: 148 additions & 0 deletions
Loading

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "memotica"
3-
version = "0.3.4"
3+
version = "0.3.5"
44
description = "An easy, fast, and minimalist space repition application for the terminal."
55
authors = ["dnlzrgz <24715931+dnlzrgz@users.noreply.github.com>"]
66
license = "MIT"

src/memotica/cli.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
1+
from datetime import datetime
12
import os
23
import zipfile
3-
from datetime import datetime
44
import click
55
import pandas as pd
66
from sqlalchemy import create_engine
77
from sqlalchemy.orm import Session
8+
from memotica.config import Config
89
from memotica.db import init_db
910
from memotica.tui import MemoticaApp
10-
from memotica.config import Config
1111

1212

1313
@click.group(invoke_without_command=True)
1414
@click.pass_context
1515
def cli(ctx) -> None:
16+
"""
17+
memotica is an easy, fast and minimalist application for your terminal that allows you
18+
to learn using space repetition.
19+
"""
20+
1621
ctx.ensure_object(dict)
1722

1823
config = Config()
@@ -47,10 +52,15 @@ def run(ctx):
4752
file_okay=False,
4853
dir_okay=True,
4954
),
55+
help="Path to the directory where the export file will be saved. Defaults to the current directory.",
5056
)
5157
def export(ctx, path):
5258
"""
5359
Exports your memotica data.
60+
61+
This command exports your memotica data (decks, flashcards, and reviews) into
62+
a ZIP file containing a CSV for each table. The ZIP file is saved in the
63+
specified directory.
5464
"""
5565

5666
engine = ctx.obj["engine"]

0 commit comments

Comments
 (0)