Coder Social home page Coder Social logo

albertpatterson / flash-cards Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 112 KB

An app for creating interactive flashcards from a list of terms saved in a Google Sheets spreadsheet document, allowing users to create flashcards from public lists or their own private lists

JavaScript 80.09% CSS 4.69% HTML 15.21%
webpack firebase-database firebase-auth firebase-functions google-api gauth gapi

flash-cards's Introduction

Flash-Cards

An app for creating interactive flashcards from a list of terms saved in a Google Sheets spreadsheet document, allowing users to create flashcards from public lists or their own private lists. App uses Google Login and Google Drive & Sheets APIs to allow users to access their word lists and also uses firebase authentication, storage, and functions to allow users to revisit recently viewed lists.

How to use

  1. Find the app at https://easy-flashcards.com hosted via Firebase (staging available at https://flashcards-staging-206fc.firebaseapp.com)
    1. The app is not yet verified (work in progress)
    2. it currently only supports phones in portrait disiplay
    3. Overall the app is very rough but does off the basic functionality described
  2. Sign in with Google, which allows the app to locate and read saved word lists
  3. optional steps
    1. Create your own lists
      1. Create a Google Sheets spreadsheet document: https://www.google.com/sheets/about/
      2. Add terms
        • one term per row
        • first column: language being studied
        • second column: intermediate representation (eg. pinyin, hiragana, phonetic spelling, etc...)
        • third column: known language
      3. Give each sheet a meaningful name (tabs at the bottom of the page represent sheets). The app will regard each sheet as a different term list. See https://docs.google.com/spreadsheets/d/1af9vsz-qcJooeql9yGn0TjOGGTE3amVIRm-Yu_y4bLU as an example
    2. Consider sharing your term lists
      1. Share the app to allow anyone with the link to view the document
      2. Email the link to the spreadsheet document to [email protected]

How to install and run

  1. Clone this repo
  2. > npm install
  3. Create your own project and setup OAuth 2.0 as described at https://developers.google.com/identity/protocols/OpenIDConnect
  4. upadte src/assets/app.js to use your own project information
  5. development
    1. build
      • Unix: $> npm run build
      • Windows: > npm run buildw
    2. webpack dev serve: > npm run dev
    • optional: serve using firebase configuration
      1. > npm install -g firebase-tools
      2. > firebase serve

flash-cards's People

Contributors

albertpatterson avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

flash-cards's Issues

Save progress

If the window is closed all progress is lost and the user must restart. This makes large lists almost impossible to complete.

Remove usage of action and nav

this util worked well for very simple actions, but for more complex use cases (such as interaction between touch and mouse events) it is not sufficient

Make nav easier

larger buttons or tap to flip and swipe left/right to mark wrong/right

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.