|
2 | 2 |
|
3 | 3 | This is a work in progress and not all functionalities may function correctly (or even be implemented).
|
4 | 4 |
|
5 |
| -# Idea |
| 5 | +# practicestuff |
6 | 6 |
|
7 |
| -CLI app designed to help you practice skills by asking questions and checking your answers. |
| 7 | +**practicestuff** is a CLI app designed to help you practice skills by asking questions and checking your answers. At the end, you'll see a number of correct answers, as well as some statistics. You can stop early by pressing `Ctrl+C`. |
8 | 8 |
|
9 |
| -Initial list of skills: |
| 9 | +The application should work on all platforms. |
10 | 10 |
|
11 |
| -- powers of a digit |
12 |
| -- multiplication table (times table) |
13 |
| -- doomsday algorithm |
| 11 | +List of skills: |
14 | 12 |
|
15 |
| -## Assumptions |
| 13 | +- powers of a number |
| 14 | +- multiplication table (times table) (not yet implemented) |
| 15 | +- doomsday algorithm (not yet implemented) |
16 | 16 |
|
17 |
| -- User has to choose a mode (skill) and optionally some flags/settings |
18 |
| -- User is presented with a number of questions for certain skill and has to type a correct answer |
19 |
| -- User should be able to quit at any time |
20 |
| -- Some statistics should be presented (accuracy, response time, overall time) |
21 |
| -- There should be a help tooltip |
22 |
| -- Program should return 0 on 100% accuracy |
23 |
| -- Algorithm parsing should be done without `clap` or any other library |
24 |
| - |
25 |
| -## General options |
26 |
| -- Option to set number of questions (default: 20, 0 means endless mode) |
27 |
| -- Option to show current accuracy between questions (default: true). Overall accuracy is presented at the end nevertheless |
28 |
| -- Option to exit early by typing 'q', 'e' or similar |
29 |
| -- Option to change behaviour on incorrect answer: continue to next question, show correct answer and continue, repeat (default: show correct & continue) |
| 17 | +## Configuration options |
30 | 18 |
|
31 |
| -## Specific options |
| 19 | +The application is somewhat configurable. Following options are available: |
32 | 20 |
|
33 |
| -### Powers |
34 |
| - |
35 |
| -- Option to set power base (default: 2) |
36 |
| -- Option to set upper and lower power boundary (default: 1 to 16) |
37 |
| - |
38 |
| -### Multiplication table |
| 21 | +- Custom number of questions (with a possibility of endless mode) |
| 22 | +- Disable statistics in-between questions |
| 23 | +- Change what happens on incorrect answer (go to the next question, show correct answer and go to the next question or repeat until correct) |
39 | 24 |
|
40 |
| -- Option to set upper and lower number boundary (default: 1 to 10) |
| 25 | +## Skills |
41 | 26 |
|
42 |
| -### Doomsday algorithm |
| 27 | +### Powers |
43 | 28 |
|
44 |
| -- Option to set start and end date (default: ±100 years 80% of the time, ±400 years 20% of the time; or normal distribution) |
| 29 | +Allows to practice powers. Configurable parameters include: |
45 | 30 |
|
46 |
| -# TODO |
| 31 | +- base (default: 2) |
| 32 | +- exponent range (default: 1-16) |
47 | 33 |
|
48 |
| -## General |
| 34 | +# Development |
49 | 35 |
|
50 |
| -DONE |
| 36 | +## Initial assumptions |
51 | 37 |
|
52 |
| -## Powers |
| 38 | +- User has to choose a mode (skill) and optionally some flags/settings |
| 39 | +- User is presented with a number of questions for certain skill and has to type a correct answer |
| 40 | +- User should be able to quit at any time |
| 41 | +- Some statistics should be presented (accuracy, response time, overall time) |
| 42 | +- There should be a help flag available |
| 43 | +- Argument parsing should be done without `clap` or any other library |
| 44 | +- There should be some options to be set: |
| 45 | + - Option to set number of questions (including endless mode) |
| 46 | + - Option to show current accuracy between questions (default: true). Overall accuracy is presented at the end nevertheless |
| 47 | + - Option to exit early |
| 48 | + - Option to change behaviour on incorrect answer: continue to next question, show correct answer and continue, repeat |
| 49 | +- It should be relatively easy to add new skills |
| 50 | +- All skills should be configurable |
53 | 51 |
|
54 |
| -DONE |
| 52 | +## Current TODO |
55 | 53 |
|
56 |
| -## Doomsday |
| 54 | +### Doomsday |
57 | 55 |
|
58 | 56 | - help & usage prompts
|
59 | 57 | - question generation w/ options
|
60 | 58 | - tests
|
61 | 59 |
|
62 |
| -## Multiplication table |
| 60 | +### Multiplication table |
63 | 61 |
|
64 | 62 | - help & usage prompts
|
65 | 63 | - question generation w/ options
|
66 | 64 | - tests
|
67 | 65 |
|
68 |
| -## Improvements |
| 66 | +### Improvements |
69 | 67 |
|
70 | 68 | - coloured output (termcolor?) with --no-color option
|
71 | 69 | - additional mode (as many answers in given time)
|
72 | 70 | - multiple texts for "correct" and "incorrect" answers
|
| 71 | + |
| 72 | +## What's next & bug reports |
| 73 | + |
| 74 | +The application in its current state suits my needs, but I'm open for proposals, either for new skills to practice or more configurability. If you feel that the app lacks something, feel free to open an issue or a PR! I'd be more than happy. |
| 75 | + |
| 76 | +As for the bugs, there are some for sure. If you see one, report it! |
0 commit comments