Giter VIP home page Giter VIP logo

spellingapp's Introduction

Spellingapp

An imaginatively title app to help people memorize spellings.

image alt

It's not remotely ready to use yet but if you'd like to try it you can find it here: https://roger-heathcote.github.io/spellingapp/

Latest CI version here: https://affectionate-hawking-cc412b.netlify.app/

To deploy to github pages

  • Bump the version in package.json
  • Push your changes to main
  • create a matching tag with format version-X.Y.Z
  • push it

To deploy your own version on github pages...

  • Fork the repo
  • Modify the PUBLIC_URL field in cd.yml to point to your fork's deployment URL OR set the environment variable PUBLIC_URL to override it.
  • Then either
    • Push a tag beginning with "release" to your repo on github pages.
    • Or run the Build and deploy to production on github pages action directly from your fork's actions tab.

Basic idea

An app to teach people how to spell

App contains multiple word lists at different difficulty levels System displays words on screen, says them out loud, then hides them The user then trys to spell the word (on real or virtual keyboard) The system repeats words til the answer is correct

Stretch goals

Users can add their own custom word lists The words are displayed with attractive animation and sound There is a special animation / sound if the user aces the test

Main user journey

A user who wants to improve their spelling visits the site They are asked to select a difficulty level They are presented with a selection of word lists They choose a list to practice The system displays random words from that list and waits for the user to spell them correctly before moving on Once the user has correctly answered a number of questions they return to the word list selection page and can play again if they like Hoepfully the user's spelling has improved and they will come back again

Technology

Mobile and desktop friendly web app HTML5 + CSS3 + ES2020 + ReactJS

spellingapp's People

Contributors

roger-heathcote avatar sampathkumar27896 avatar

Watchers

 avatar  avatar

spellingapp's Issues

Give app a title.

Right now the titlebar says "React App"
The PageFrame component also has a slot called header where we could inject the title.

Run tests every commit with husky?

Before commit code we should check that our tests still all pass. Right now we have no CI/CD so we have to run our tests manually which makes them easy to forget. Shall we enforce tests with husky or wait til we have CI/CD set up?

Fix focus issues

We shouldn't have to require users to give the input field focus manually.

  • Input element focus not given after "type that"
  • Input element focus not returned after reminder

Refactor GamePlay test

referencing files as of commit: 8fc804c

line 9 - We can delete age from our mock object as nothing in GamePlay.js needs it.

lines 19-21 - It would be better to declare these mocks freshly in each test function rather than once in the main module scope. It works fine right now, but jest mock functions are mutable so if you called them in a different test you risk not getting the answer you expect i.e. calling a function once in a new test, then asserting toHaveBeenCalledTimes(1) would fail, as it has actually been called once already in a previous test. As a rule we should avoid sharing any mutable state between tests.

Normalize linefeeds

Prettier linter doesn't seem to like Windows linefeeds, on linux at least.

  1. Could use "endOfLine":"auto" in prettier config
  2. Could use "* text=auto" in .gitattributes

Not sure which is better solution.

Make it all look a little prettier

  • Basic layout
  • "Now type that" is still displayed when correct is
  • Long words are overflowing the screen
  • Pleasant colors
  • Word list not properly centered

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.