├── .codespellignore ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── user-story.md └── workflows │ ├── dependabot.yml │ ├── go-coverage.yml │ ├── go.yml │ └── release.yml ├── .gitignore ├── .markdownlint.yaml ├── .pre-commit-config.yaml ├── .secrets.baseline ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── RELEASE_NOTES.md ├── assets └── gocard-logo.webp ├── cmd └── gocard │ └── main.go ├── docs └── PRD.md ├── examples ├── README.md ├── algorithms │ └── quicksort.md ├── concepts │ └── cap-theorem.md ├── gocard-features │ └── markdown-features.md ├── language-learning │ └── vocabulary │ │ └── spanish-greetings.md ├── math │ └── calculus-limits.md └── programming │ ├── go │ └── concurrency-patterns.md │ └── python │ └── decorators.md ├── go.mod ├── go.sum ├── internal ├── data │ ├── dummy_store.go │ ├── markdown_parser.go │ ├── markdown_parser_test.go │ ├── markdown_writer.go │ ├── markdown_writer_test.go │ └── store.go ├── model │ ├── card.go │ └── deck.go ├── srs │ └── algorithm.go └── ui │ ├── browse_decks.go │ ├── browse_decks_test.go │ ├── deck_review_tab.go │ ├── deck_review_tab_test.go │ ├── forecast_tab.go │ ├── forecast_tab_test.go │ ├── main_menu.go │ ├── main_menu_test.go │ ├── markdown_renderer.go │ ├── markdown_renderer_test.go │ ├── stats_screen.go │ ├── stats_screen_test.go │ ├── study_screen.go │ ├── study_screen_test.go │ ├── styles.go │ ├── summary_tab.go │ └── summary_tab_test.go ├── scripts ├── create_release.sh ├── generate_coverage_report.sh ├── package_coverage.sh └── visual_coverage_report.sh └── wireframes └── high-fidelity ├── .gitignore ├── 00-main-menu.svg ├── 01-deck-selection.svg ├── 02-01-study-session-answer-hidden.svg ├── 02-01-study-session-answer-revealed.svg ├── 03-01-stats-summary.svg ├── 03-02-stats-deck.svg ├── 03-03-stats-forcast.svg └── Makefile /.codespellignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.codespellignore -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/user-story.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.github/ISSUE_TEMPLATE/user-story.md -------------------------------------------------------------------------------- /.github/workflows/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.github/workflows/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/go-coverage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.github/workflows/go-coverage.yml -------------------------------------------------------------------------------- /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.gitignore -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.markdownlint.yaml -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.secrets.baseline: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/.secrets.baseline -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/README.md -------------------------------------------------------------------------------- /RELEASE_NOTES.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/RELEASE_NOTES.md -------------------------------------------------------------------------------- /assets/gocard-logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/assets/gocard-logo.webp -------------------------------------------------------------------------------- /cmd/gocard/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/cmd/gocard/main.go -------------------------------------------------------------------------------- /docs/PRD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/docs/PRD.md -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/algorithms/quicksort.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/algorithms/quicksort.md -------------------------------------------------------------------------------- /examples/concepts/cap-theorem.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/concepts/cap-theorem.md -------------------------------------------------------------------------------- /examples/gocard-features/markdown-features.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/gocard-features/markdown-features.md -------------------------------------------------------------------------------- /examples/language-learning/vocabulary/spanish-greetings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/language-learning/vocabulary/spanish-greetings.md -------------------------------------------------------------------------------- /examples/math/calculus-limits.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/math/calculus-limits.md -------------------------------------------------------------------------------- /examples/programming/go/concurrency-patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/programming/go/concurrency-patterns.md -------------------------------------------------------------------------------- /examples/programming/python/decorators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/examples/programming/python/decorators.md -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/go.sum -------------------------------------------------------------------------------- /internal/data/dummy_store.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/data/dummy_store.go -------------------------------------------------------------------------------- /internal/data/markdown_parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/data/markdown_parser.go -------------------------------------------------------------------------------- /internal/data/markdown_parser_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/data/markdown_parser_test.go -------------------------------------------------------------------------------- /internal/data/markdown_writer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/data/markdown_writer.go -------------------------------------------------------------------------------- /internal/data/markdown_writer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/data/markdown_writer_test.go -------------------------------------------------------------------------------- /internal/data/store.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/data/store.go -------------------------------------------------------------------------------- /internal/model/card.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/model/card.go -------------------------------------------------------------------------------- /internal/model/deck.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/model/deck.go -------------------------------------------------------------------------------- /internal/srs/algorithm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/srs/algorithm.go -------------------------------------------------------------------------------- /internal/ui/browse_decks.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/browse_decks.go -------------------------------------------------------------------------------- /internal/ui/browse_decks_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/browse_decks_test.go -------------------------------------------------------------------------------- /internal/ui/deck_review_tab.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/deck_review_tab.go -------------------------------------------------------------------------------- /internal/ui/deck_review_tab_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/deck_review_tab_test.go -------------------------------------------------------------------------------- /internal/ui/forecast_tab.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/forecast_tab.go -------------------------------------------------------------------------------- /internal/ui/forecast_tab_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/forecast_tab_test.go -------------------------------------------------------------------------------- /internal/ui/main_menu.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/main_menu.go -------------------------------------------------------------------------------- /internal/ui/main_menu_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/main_menu_test.go -------------------------------------------------------------------------------- /internal/ui/markdown_renderer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/markdown_renderer.go -------------------------------------------------------------------------------- /internal/ui/markdown_renderer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/markdown_renderer_test.go -------------------------------------------------------------------------------- /internal/ui/stats_screen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/stats_screen.go -------------------------------------------------------------------------------- /internal/ui/stats_screen_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/stats_screen_test.go -------------------------------------------------------------------------------- /internal/ui/study_screen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/study_screen.go -------------------------------------------------------------------------------- /internal/ui/study_screen_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/study_screen_test.go -------------------------------------------------------------------------------- /internal/ui/styles.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/styles.go -------------------------------------------------------------------------------- /internal/ui/summary_tab.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/summary_tab.go -------------------------------------------------------------------------------- /internal/ui/summary_tab_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/internal/ui/summary_tab_test.go -------------------------------------------------------------------------------- /scripts/create_release.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/scripts/create_release.sh -------------------------------------------------------------------------------- /scripts/generate_coverage_report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/scripts/generate_coverage_report.sh -------------------------------------------------------------------------------- /scripts/package_coverage.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/scripts/package_coverage.sh -------------------------------------------------------------------------------- /scripts/visual_coverage_report.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/scripts/visual_coverage_report.sh -------------------------------------------------------------------------------- /wireframes/high-fidelity/.gitignore: -------------------------------------------------------------------------------- 1 | *.png 2 | -------------------------------------------------------------------------------- /wireframes/high-fidelity/00-main-menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/00-main-menu.svg -------------------------------------------------------------------------------- /wireframes/high-fidelity/01-deck-selection.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/01-deck-selection.svg -------------------------------------------------------------------------------- /wireframes/high-fidelity/02-01-study-session-answer-hidden.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/02-01-study-session-answer-hidden.svg -------------------------------------------------------------------------------- /wireframes/high-fidelity/02-01-study-session-answer-revealed.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/02-01-study-session-answer-revealed.svg -------------------------------------------------------------------------------- /wireframes/high-fidelity/03-01-stats-summary.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/03-01-stats-summary.svg -------------------------------------------------------------------------------- /wireframes/high-fidelity/03-02-stats-deck.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/03-02-stats-deck.svg -------------------------------------------------------------------------------- /wireframes/high-fidelity/03-03-stats-forcast.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/03-03-stats-forcast.svg -------------------------------------------------------------------------------- /wireframes/high-fidelity/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DavidMiserak/GoCard/HEAD/wireframes/high-fidelity/Makefile --------------------------------------------------------------------------------