novaFlash is a terminal-based flashcard application written in Python, relying on Rich and CSV.
Depending on your terminal and font settings, non-English characters may not display correctly. If this is a problem in the terminal, the printed character will equate to the intended character, but this may be different from device to device, depending on installed software.
This is the start of using the novaFlash program, how exciting! There are 4 options, each with a number, and directing to a different part of the program.
This is the main mode for the flashcard software. It takes the "question" side of the flashcard, then prompts the user to type in an answer (only a ":" is shown as a prompt). Then, it compares the typed in answer to the "answer" side of the card.
After, one of three states will appear:
Match: The typed in answer matches the answer side of the card.
Missing Article: The typed in answer matches the answer side of the card, apart from a missing article. At the moment, this is only supported when the answer side of the card is written in French, running in a vocabulary set.
No Match: The typed in answer does not match the answer side of the card. A score will be given (titled "accuracy" given as an integer percentage) based on how similar the typed in answer is to the answer side of the card,
it will then display a colour, both of which are changeable by the user (by default, red is under the threshold, and blue is above).
Next, another prompt will appear (again, only a ":"), this is part of the Active Pool system. Behind the scenes, when the deck was selected, ten cards at random were put into their own set, and will cycle until they are removed from the Active Pool. At this stage, if a "0" is typed in, the card will be removed from the Active Pool, and back into the deck; a new card at random will then be selected to replace the old cards position within the Active Pool. If anything else is typed in, the card will remain in the Active Pool. Then this process repeats until the user either quits the terminal window, or types in "exit" at any point where a ":" prompt appears.
This the secondary mode for the flashcard software. It takes the "question" side of the flashcard, then prompts the user to press enter to see the answer side of the card.
Next, another prompt will appear (again, only a ":"), this is part of the Active Pool system. Behind the scenes, when the deck was selected, ten cards at random were put into their own set, and will cycle until they are removed from the Active Pool. At this stage, if a "0" is typed in, the card will be removed from the Active Pool, and back into the deck; a new card at random will then be selected to replace the old cards position within the Active Pool. If anything else is typed in, the card will remain in the Active Pool. Then this process repeats until the user either quits the terminal window, or types in "exit" at any point where a ":" prompt appears.
This section allows the user to change some settings within the program. To change any of the settings, type the number and the new state (this is not required for rtAc, it will flip the state). There are six settings that can be changed:
Under Target Colour: This is the colour that will show if the boundary percentage is not met or exceed, by default this is red. This only applies in Type Card mode.
Over Target Colour: This is the colour that will show if the boundary percentage is met or exceeded, by default this is blue. This only applies in Type Card mode.
Boundary %: This is the percentage that will determine whether the Under Target Colour or Over Target Colour will show, by default this is 70%. This only applies in Type Card mode.
rtAc: This is to toggle the Restricted Access mode, for userID checks. By default, this is off.
rtAc1: This is to set the first userID for Restricted Access mode. By default, this is blank.
rtAc2: This is to set the second userID for Restricted Access mode. By default, this is blank.
Provides more information about the program. It provides the following data, name of the program, version, edition, and for more information.
To import decks into the program, the file system must match the following structure.
│── novaFlash/
│ ├── subject1
│ ├── deck1.csv
│ ├── deck2.csv
│ ├── deck3.csv
│ ├── subject2
│ ├── deck1.csv
│ ├── deck2.csv
│ ├── deck3.csv
│── [rest of the repository here]
To properly format the CSV deck files, the following structure must be used.
question1,answer1
question2,answer2
question3,answer3
Note: There should be no title row in the CSV file.
To properly operate the program, the following structure must be used for the preferences file.
[null],[null]
threshold,[int 0-100]
rtAcA,[boolean, "ON" or "OFF"]
badColour,[richColour]
almostColour,[richColour]
rtAc1,[userID1]
rtAc2,[userID2]
Note: Replace data in the [] with the actual data, do not include the [] in the file.
Note: The preferences file must be in the root of the repository.