CardsQL

Flashcards + SQL = CardsQL

Published on Jul 24, 2023

Reading time: 1 minutes.


Built with

PHP
SQLite

Flashcards + SQL = CardsQL

Was originally my project submission for my 3rd sem Web Tech class. Rewrote it from scratch & used it as my 4th sem minor project submission.

About Flashcards

Flashcards are a memorization/study revision technique where you write a question on one side of a card/ piece of paper & the answer on the other side. You then read the question & try your best to remember the answer, before flipping the card over & see how well you did.

Cognitive researchers have found that trying to recall such facts strengthens the relevant neural connections in our brain & thus, allows us to remember it for longer periods of time. Flashcard apps like Anki & Remnote also use spaced repetition algorithms to schedule the optimal time for revising cards & retaining info.

Features

  • Add cards
    • Different directions for cards (not implemented)
  • Review/ Study scheduled & overdue cards
    • Rate how well you remembered the answer
  • Uses modified version of the SM-2 spaced repetition algorithm.
    • Next review date is scheduled using rating & previous ratings, dates
  • Edit & delete cards (not implemented)

Improvements made in the rewrite:

  • Replace MySQL with SQLite for single-file, serverless RDBMS
  • Calculate next review dates with the more complex SM-2 algorithm, instead of adding a constant number of days
  • Overall better code quality

Screenshots

Homepage/ Adding cards Reviewing cards Rating cards