Giter Site home page Giter Site logo

undeadinu / flash-cards Goto Github PK

View Code? Open in Web Editor NEW

This project forked from notwaldorf/flash-cards

0.0 1.0 0.0 3.78 MB

📓🙊A simple flash cards app to help you learn Japanese (and other languages!)

Home Page: https://flash-cards.netlify.com

License: MIT License

JavaScript 87.23% HTML 12.77%

flash-cards's Introduction

Built with pwa–starter–kit Build status

Flash Cards

This is a simple flash cards app to help you learn Japanese. It is built using the PWA Starter Kit, using the default template as the starting point and the wiki for configuring and personalizing.

Apart from several game options, flash-cards also comes with a stats page that shows you a heatmap of your answers.

screen shot 2018-03-23 at 6 49 11 pm

Features/highlights

  • uses Redux to handle the application's state
  • this state is also stored and loaded from localStorage, so that the last question asked and the stats are persisted across refreshes
  • uses the SpeechSynthesis API to read out the question being asked
  • the actual cards data is loaded from arbitrary json files, so the app can be extended to work for any language and any set of words being learnt

Setup

git clone https://github.com/notwaldorf/flash-cards
cd flash-cards
npm install
npm start

To run the tests, you can run npm run test.

Build and deploy

To build the app, run npm run build. This will create a build folder that has all the minified bundles and assets you need to deploy. If you want to test that the build output works, you can run

npm run serve

For deployment, I used Netlify's pretty much out-of-the-box setup. These are my deploy settings (so that the app is rebuilt and the bundled app is redeployed every time there's a new commit to master): screenshot of netlify deploy settings

Since this app is structured as an app-shell (the index.html knows how to display the correct route based on the URL, but each URL does not correspond to a standalone view you can just load), I've also added a _redirects file used by the Netlify server tohandle these redirects (read more about that here)

Supported browsers

This app uses the es5-bundled bundle, so that it works on browsers up to IE11, as well as Googlebot (so that it can get indexed).

Performance

Lighthouse:

screen shot 2018-05-15 at 3 12 38 pm

WebPageTest:

Full test results. screen shot 2018-05-15 at 3 18 40 pm

Known Issues

There's a problem with the SpeechSyntesis API on Windows, where I bail out early if I don't find a Voice I can recognize (because there don't seem to be any Japanese languages installed by default on Windows). Should prolly figure out something around this.

flash-cards's People

Contributors

alos avatar frankiefu avatar jules2689 avatar mcurcija avatar motss avatar notwaldorf avatar

Watchers

 avatar

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.