DEV Community

taijidude
taijidude

Posted on

1

Small prototype... easy coding flash cards on android

My Problem...

I recently read the wonderful book the-programmers-brain. One take-away was that if you study concepts with flash cards it will help learn new stuff more efficiently. So i was looking for a while now how to do that using my android phone.

I'm a pretty heavy obsidian user and had a look at the plugins i knew of but was not really satisfied and looked and some apps. This didn't really worked easly or made me jump through more hoops than i wanted to.

I'm no Android Developer yet and not really a web dev either. I want to use flash cards to learn angular and typescript, so my options were a litte limited. Here is what i came up with:

My Solution...

There is a fantastic app called termux on android which gives you a complete linux environment.

termux

In termux you are able to work with python and git. So i came up with a small python project containing of one python script and a markdown file at the moment.

The python file uses the rich library because i can render markdown pretty to the cli (with syntax highlighting).

from rich.console import Console
from rich.markdown import Markdown

def main():
    console = Console()
    with open("angular.md") as f:
        content: str = f.read()
        cards: list[str] = content.split('<!-- Card -->')
        numberOfCards: int = len(cards)
        for card in cards:
            console.clear()
            sides = card.split('<!-- Sides -->')
            console.print(Markdown(sides[0])) 
            input("\nshow the answer!")
            console.print(Markdown(sides[1]))
            input("\nnext card!")
            console.clear()
if __name__ == "__main__":
    main()
Enter fullscreen mode Exit fullscreen mode

The content of my flashcards is stored in a markdown file. I use html comments to seperate the individual cards and the question and the answer on each individual card.

Image description

I have this all on a little github project. github. (The name of the project will change.) S

On my phone i have to clone the repo in termux:

git clone https://github.com/taijidude/mochi-cards.git
Enter fullscreen mode Exit fullscreen mode

Install the needed dependencies (typer is a neat cli framework which brings the rich library as dependency. I use typer here because i want to do more with it in the future. )

pip install typer
Enter fullscreen mode Exit fullscreen mode

and than can run the app:

python app.py
Enter fullscreen mode Exit fullscreen mode

Finally i get a basic flashcard functionality with syntax highlighting.
After starting:
Image description
When hitting enter the answer is shown:

Image description

When hitting enter again i get the next question:

Image description

Thank you for your Attention!

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (1)

Collapse
 
taijidude profile image
taijidude

How do i show the content of a markdown file here with it getting converted to html?

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more