Giter Club home page Giter Club logo

kids-reading's Introduction

Kid's Reading

This is a web app to play with some concepts related to helping a kid learn to read.

Useful commands

Prisma migration after changing schema. This will also update the client types.

npx prisma migrate dev --name new-name

kids-reading's People

Contributors

byronwall avatar

Watchers

 avatar  avatar

kids-reading's Issues

Resolve assorted style issues

Various things:

  • Need to set a z-index on the mobile nav menu (hides behind some content)
  • Active profile style is an ugly grey color
  • Reduce the clutter on the main question interface - too much bold text will be confusing for a kid

Create some sort of reward system for every N

Ideas:

  • Attempting 10 sentences
  • Getting 100 words correct

Add badges or something similar for each increment of work.

Consider what counts as a lesson being "complete" - add a badge then

Allow recording the user reading the sentence

This recording would serve several purposes:

  • Allow for transcription to see how far the speech was from the prompt - use the Whisper API for this
  • Provide a historical record of progress
  • Provide a record of specific issues for later review

Create some sort of "plan" page that shows progress through various goals

The goal should be split into:

  • Phonics
  • Sentence structure

Work:

  • Provide a timeline type view that shows progress through the areas.
  • Add the plan markers to the meta data layers in the words and sentences
  • Give some sort of gamification aspect when a user gets N questions right or advances so much (like make a monster or something)

Goals for sentences covered in #4. Move this content to the arch section eventually.

Goals for phonics:

Absolutely! When it comes to phonics and word decoding, the complexity often increases from simple CVC (Consonant-Vowel-Consonant) structures to more intricate blends and vowel patterns. Here's a list of common word structures in order of increasing difficulty.

Basic Decoding Levels
CVC

Example: "cat", "dog"
CVCC

Example: "fast", "milk"
CCVC

Example: "stop", "clap"
CCVCC

Example: "plant", "crust"
CVCE (Silent E)

Example: "cake", "dine"
Intermediate Decoding Levels
CVVC (Long Vowels)

Example: "meat", "rain"
Consonant Digraphs (CDig)

Example: "ship", "chat"
Vowel Digraphs (VDig)

Example: "boat", "deer"
Consonant Blends at Start (CB-S)

Example: "flag", "brim"
Consonant Blends at End (CB-E)

Example: "fast", "milk"
CCVVC

Example: "scream", "float"
CVC + Suffix

Example: "jumping", "looked"
Advanced Decoding Levels
R-Controlled Vowels (R-V)

Example: "car", "bird"
Diphthongs (Dip)

Example: "coin", "loud"
Initial Trigraphs (Tri-I)

Example: "scrub", "straw"
Final Trigraphs (Tri-F)

Example: "laugh", "eight"
CVCC + Suffix

Example: "jumps", "looked"
Prefix + CVC

Example: "unzip", "replay"
Prefix + CVCC

Example: "disrupt", "unmask"
CVVC + Suffix

Example: "meeting", "trainer"
This list should provide a comprehensive starting point for common word structures used in phonics instruction, arranged by difficulty level.




User
Continue the list with more 
ChatGPT
Certainly! Let's continue with more advanced word structures, which usually involve multiple morphemes, more complex blends, and irregular patterns.

Advanced Decoding Levels (Continued)
Multi-Syllabic CVC

Example: "rabbit", "pencil"
Multi-Syllabic CVCE

Example: "create", "divide"
Multi-Syllabic CVVC

Example: "conceal", "retrieve"
Consonant + le (C-le)

Example: "table", "puzzle"
Irregular Vowels

Example: "could", "people"
Silent Letters (SL)

Example: "knight", "wrist"
Compound Words (Comp)

Example: "toothbrush", "rainbow"
Vowel-Consonant-e + Suffix (VCE+Suffix)

Example: "baking", "invited"
Schwa Sound (Schwa)

Example: "sofa", "banana"
CVC + Double Consonant + Suffix (CVC+DC+Suffix)

Example: "running", "hopping"
Prefix + Multi-Syllabic Base (Prefix+MSB)

Example: "unbelievable", "prearranged"
Suffix + Multi-Syllabic Base (Suffix+MSB)

Example: "unhappiness", "carelessness"
Complex Consonant Blends (Complex CB)

Example: "splurge", "scrunch"
Complex Vowel Teams (Complex VT)

Example: "souvenir", "bouquet"
Advanced R-Controlled Vowels (Adv R-V)

Example: "curtain", "orchard"
Irregular Plurals (IPlur)

Example: "geese", "children"
Irregular Verb Forms (IVerb)

Example: "swam", "drank"
Heteronyms (Hetero)

Example: "lead" (to guide) vs. "lead" (the metal)
Homographs (HomoG)

Example: "tear" (to rip) vs. "tear" (from eye)
Complex Compound Words (Complex Comp)

Example: "mother-in-law", "self-control"
These additional structures help to further map out the complexity and variety of word constructs that learners encounter as they become proficient in phonics and decoding.

Review phonics and pronunciation resources

Mega issue - Improve the plans page and process

General upkeep:

  • Show the profile progress for each lesson - number of good / bad results for each lesson
  • Add a button to add more words to a section - use GPT
  • Editing the words seems to be broken -- need to detect deletes correctly?
  • Improve the styling of this page
  • Add a table of contents so you can jump to any word - add collapsible regions to avoid scrolling
  • Think about about how to use a pronunciation dictionary to automatically add words to sections based on criteria?
  • #69
  • Sentence creator should show a dialog that allows accepting sentences
  • #72
  • Ability to mark a lesson as "focused" to give those words/sentences priority
  • Show a total count for the learning plan (sum of all good bad from lessons)
  • #76
  • Continue to improve the styles on the learning plan overview page
  • #80
  • Configure sidebar to be collapsible on mobile instead of showing full thing

Loading button improvements

Consider:

  • Show a checkmark for tasks that are "one and done" - disable the button while showing the check
  • Add a tooltip or message on hover after the action is done

Complete profile edit actions

Remaining work:

  • Rename profile
  • Delete profile

Initial implementation added the bare minimum stuff. The delete one will be quite destructive assuming the delete cascades through all history stuff.

Continue to add content to match DB

Magic E: https://chat.openai.com/share/b907f877-b8c5-4d26-87d6-e3e981eedc2a

Certainly, below is a detailed table for teaching the concept of "Magic E" in a phonics setting:

Topic Sub-Topic Sample Words
Magic E a_e cake, tape, plate, skate, shave
Magic E i_e ride, time, slide, knife, prize
Magic E o_e home, cone, note, stone, stove
Magic E u_e cute, tube, mute, flute, lute
Magic E e_e theme, gene, scene, these, complete

Note that I've included 5 example words per row to fit your database requirements. Each row has a specific vowel that is affected by the "Magic E," which changes the vowel's sound from a short vowel sound to a long vowel sound.

Create profile management page for a user

Basic CRUD stuff:

  • Add profile
  • Switch profile
  • Display profile at top of page with a dropdown to switch profiles - likely need to create a default profile when the user is created?
  • Figure out how to manage an "active" profile - local storage? server?

It's assumed that user = adult; profile = kid.

Implement all of the sentence CRUD stuff

Needs:

  • Allow user created sentence
  • Delete sentence = change isDeleted flag - update queries so it won't show up unless via reference
  • Edit sentence = duplicate and set the original to deleted - do not want to break other things
  • Ability to prevent duplicate sentences from being added - need to just drop these - no error

Figure out when/how to capitalize words like `I`

Maybe I is the only special example of this unless names are included? If, so might just force the database to store it capitalized with a special rule?

I like to ride my bike.
my, to, i, like, ride, bike

Create main question interface

Allow for showing a word or sentence with a measure of goodness or badness at end

Words:

  • Skip, did not know, hard, easy

Sentences:

  • Same as above but for each word

Question stuff should save results and update the main tables

Improvements to the stats page

Things to improve:

  • Add a count of good vs bad for the word summary
  • Consider showing the sentences as a single result and color words based on outcome? Might need a single identifier for these (constant timestamp or another "parent" or "group" ID)
  • Add CRUD operations so the results can be deleted if needed (consider if this should impact the summary -- probably not)

Control access to pages with auth info

Limit the pages and data that are visible when the user is not logged (and maybe not an admin).

Obvious problems:

  • Admin page shows words and other stuff - should be hidden
  • Plan should show learning plan but not attempt to get progress
  • Stats fails

Refine the sentence testing feature

Left over work from the original issue:

  • Add an interface that allows skipping a sentence without penalizing the profile
  • Change the vertical spacing on words to be tighter - do not need the full horizontal gap between lines
  • Randomize sentence order if they all have the same number of planned words - give variety on a refresh
  • Consider a button to "advance" to the next sentence which increases the index from 0 to a larger number (assuming more available)
  • Disable the submit button when a submission is in process - see #27
  • Make sentences the default mode instead of words

Compute aggregate stats for a profile

Numbers:

  • Total number of words read - good and bad
  • Total number of sentences read
  • Some sense of average reading level (maybe over time)

These things could be aggregated by month or year to show progress over time.

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.