Tristan-Muggridge / flashcard-ts

Creating a CRUD flashcard application which interacts with both Firestore for a persistent repo for user data, but also local storage.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flashcard-ts

Creating a CRUD flashcard application which interacts with both Firestore for a persistent repo for user data, but also local storage.

Objective: Create a CRUD application using Firebase as a backend. I've not used firebase before but have heard many good things about it, and so being inspired by applications like Memrise and Anki, I decided to create a flashcard application that would levergae the firebase product!

Technologies Used:

  • React
  • TypeScript
  • Vitest (Vite Test)

Goals:

User Generated Cards

    be able to create cards
    be able to store cards
    be able to retrieve stored cards
    be able to update cards (so far only prompt / answer)

Quiz Time

    honour system (select from 1-5 how well information could be retrieved)
    input system (allow user input on prompt and determine if user was correct, wrong, or close)
    multiple choice (Present a range of other card answers and allow user to attempt selecting the matching answer to displayed prompt)
    update relevant card objects upon finishing review of specific card

decks Functionality

    Ability to create decks
    Ability to edit decks
    Ability to add / remove cards from a deck
    Hide card from deck

Data Management Options

    Import CSV: Import a CSV of card data into a collection of cards
    Export CSV: Export a collection of cards to comma delimited CSV
    Migrate to Cloud: Transfer all LocalStorage cards to Firestore
    Make it Rain: Transfer all User Firestore data to LocalStorage
    Sync: keep LocalStorage and Firestore in sync with each other (user-toggle)

User Authentication

    Implement fireauth to get auth working with application so that I can open app to users
    tweaks to data processes to utilise user Id in the CRUD processes.

About

Creating a CRUD flashcard application which interacts with both Firestore for a persistent repo for user data, but also local storage.


Languages

Language:TypeScript 84.0%Language:CSS 15.4%Language:HTML 0.6%