{"id":16709269,"url":"https://github.com/andreacfromtheapp/elm_speakandspell","last_synced_at":"2025-08-13T01:20:35.469Z","repository":{"id":37268310,"uuid":"437058280","full_name":"andreacfromtheapp/elm_speakandspell","owner":"andreacfromtheapp","description":"Speak \u0026 Spell in Elm. To internalize concepts with practice and Just for fun :)","archived":false,"fork":false,"pushed_at":"2025-08-12T17:48:05.000Z","size":3145,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-12T19:29:55.380Z","etag":null,"topics":["browser-game","elm","elm-app","elm-lang","elm-ui","front-end","front-end-app","tailwind","tailwindcss","vite","vitejs","web-development","webdev"],"latest_commit_sha":null,"homepage":"https://speak-and-spell.netlify.app","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreacfromtheapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-10T17:18:30.000Z","updated_at":"2025-08-12T17:48:09.000Z","dependencies_parsed_at":"2023-11-23T20:24:05.656Z","dependency_job_id":"203d410b-aa30-4b00-aea4-24b2364c3b31","html_url":"https://github.com/andreacfromtheapp/elm_speakandspell","commit_stats":null,"previous_names":["andreacfromtheapp/elm_speakandspell","gacallea/elm_speakandspell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andreacfromtheapp/elm_speakandspell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreacfromtheapp%2Felm_speakandspell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreacfromtheapp%2Felm_speakandspell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreacfromtheapp%2Felm_speakandspell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreacfromtheapp%2Felm_speakandspell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreacfromtheapp","download_url":"https://codeload.github.com/andreacfromtheapp/elm_speakandspell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreacfromtheapp%2Felm_speakandspell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270162527,"owners_count":24537837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-game","elm","elm-app","elm-lang","elm-ui","front-end","front-end-app","tailwind","tailwindcss","vite","vitejs","web-development","webdev"],"created_at":"2024-10-12T20:03:52.159Z","updated_at":"2025-08-13T01:20:35.405Z","avatar_url":"https://github.com/andreacfromtheapp.png","language":"Elm","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Speak \u0026 Spell in Elm\n\nMy very first attempt at an [Elm](https://elm-lang.org/) application, to test\nmy understanding of [Elm in\nAction](https://www.manning.com/books/elm-in-action).\n\n## BROKEN API UPDATE (20231023)\n\nThe Random Word API I used for this app is justifiably returning an error, most\nlikely because the many requests would cost them money. They invite users to\nself-deploy. If you intend to check my Speak And Spell Elm implementation, you\nneed to deploy the API first, and then point a clone of this very app to it.\n\n- API repo:\n  [https://github.com/mcnaveen/random-words-api](https://github.com/mcnaveen/random-words-api)\n- API URLs need changing in [main.js](./src/js/main.js#L19-L23) and\n  [SpeakAndSpell.elm](./src/elm/SpeakAndSpell.elm#L154)\n\n## Why Speak \u0026 Spell?\n\nBecause there was potential for a good mix of UI and UX. It seemed like a great\nstarting point to learn and practice. Moreover, I fancied creating a project\ncompletely from scratch, as opposed to pre-existing concepts.\n\n## Is it a clone?\n\nBeing a *toy project* (no pun intended), this is a limited reproduction:\n\n1) match the word on the screen\n2) use the commands\n\nNo *Mystery Word* or any other play mode from the original game.\n\nThe point of this exercise was to: study, internalize, apply, learn some more,\nimprove skills and code, rinse and repeat. Not to be an 1:1 clone.\n\n## Some Background\n\nWhen I first started this project, I hadn't finished the book yet. In fact, I\nstarted creating this project right after finishing Chapter 5: a chapter that\ncovered all the basics up to testing. I needed to internalize the concepts I\nhad learned up to that point, and to make sure I was getting them right.\n\nAfter improving my skills on\n[Exercism](https://exercism.org/profiles/gacallea), and doing some more\nexploring, I have:\n\n- migrated the project to [my\n  template](https://github.com/gacallea/elm_vite_tailwind_template)\n- migrated from [Elm\n  UI](https://github.com/gacallea/elm_speakandspell/tree/elm_ui_version) to\n  [Tailwind CSS](https://tailwindcss.com/)\n- made it fully reponsive to the best of my abilities\n- resumed the book from where I left off: Chapter 6 - Testing\n- wrote [all\n  tests](https://github.com/gacallea/elm_speakandspell/blob/main/tests/SpeakAndSpellTest.elm)\n  for the API and more relevant UI items\n\nWith all testing complete, the project fully served its purpose and it is now\ncomplete. 🎉 🎉 🎉\n\n## Made With\n\nTooling privided by my own [Vite, Elm, and Tailwind CSS,\nTemplate](https://github.com/gacallea/elm_vite_tailwind_template). Check it out\n😃\n\n## Credits \u0026 Copyright\n\n[Speak \u0026 Spell](https://en.wikipedia.org/wiki/Speak_%26_Spell_(toy))™ is © of\nTexas Instruments Inc.\n\nThe favicon used on the Vercel app is © [Gregor\nCresnar](https://thenounproject.com/icon/speak-1616157/). Licensed under the\n[Creative Commons CC-BY 3.0](https://creativecommons.org/licenses/by/3.0/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreacfromtheapp%2Felm_speakandspell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreacfromtheapp%2Felm_speakandspell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreacfromtheapp%2Felm_speakandspell/lists"}