https://github.com/derivia/srmath
Spaced repetition system to help students efficiently, written in Python.
https://github.com/derivia/srmath
Last synced: about 1 year ago
JSON representation
Spaced repetition system to help students efficiently, written in Python.
- Host: GitHub
- URL: https://github.com/derivia/srmath
- Owner: derivia
- License: mit
- Created: 2025-02-11T11:57:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-11T12:02:12.000Z (over 1 year ago)
- Last Synced: 2025-02-11T12:40:16.079Z (over 1 year ago)
- Language: Python
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SRMath
SRMath is a spaced repetition system to help students efficiently study by
managing questions and review cycles.
It is intended for math review studies, but can be used for other topics.
## Features
- Create, edit, and delete questions
- Track review history and due dates
- Automatically schedule reviews with spaced repetition
- Customize datetime format
- Purge database of all questions and history
## Installation
1. Clone the repo:
```bash
git clone https://github.com/derivia/srmath.git
cd srmath
```
2. Set up virtual environment:
```bash
python3 -m venv .venv_srmath
```
3. Activate the environment:
- On Linux/macOS:
```bash
source .venv_srmath/bin/activate
```
- On Windows:
```bash
.venv_srmath\Scripts\activate
```
4. Install dependencies:
```bash
pip install -r requirements.txt
```
## Configuration
The `.srmath.conf` file, located on `$HOME`, is used for settings like questions per day and datetime
format.
### Example `.srmath.conf`:
```ini
[DEFAULT]
questions_due_per_day = 10
datetime_format = %d/%m/%Y
```
The file is created when the program database is first generated.
## Commands
### `list`
Show today's due questions:
```bash
python srmath.py list --limit 5
```
### `question `
Show details of a specific question:
```bash
python srmath.py question 2
```
### `answer `
Show the answer for a specific question:
```bash
python srmath.py answer 2
```
### `edit `
Edit an existing question:
```bash
python srmath.py edit 2
```
### `create`
Create a new question:
```bash
python srmath.py create
```
### `reset`
Reset the database (delete all data):
```bash
python srmath.py reset
```
### `delete_history `
Delete history for a specific question:
```bash
python srmath.py delete_history 2
```
### `review`
Start reviweing due questions for today:
```bash
python srmath.py review
```
## How It Works
The app uses a spaced repetition algorithm to schedule question reviews. The
interval between reviews increases as you get questions right.
### Review Feedback Options:
- **again**: Review again today
- **hard**: Question was difficult
- **good**: Correct answer
- **easy**: Question was too easy
## Backlog
Improvements for future versions:
- [ ] Separate code into multiple files
- [ ] Allow easy global installation
- [ ] Import/Export Features
- [ ] Search functionality
## License
MIT License - see the [LICENSE](LICENSE) file for details.