No description
Find a file
2022-02-13 12:39:28 +01:00
.github/workflows fix: trigger branch on push 2022-01-26 21:17:46 +09:00
.husky added husky for pre commit formatting 2022-01-26 17:26:12 -05:00
.vscode Apply prettier 2022-01-29 14:34:34 -05:00
public Update index.html 2022-02-02 13:40:54 +01:00
src better emojis 2022-02-13 12:39:28 +01:00
.env config for deployment 2022-01-10 10:11:17 -05:00
.gitignore Initialize project using Create React App 2022-01-08 13:21:04 -05:00
.gitlab-ci.yml Update .gitlab-ci.yml file 2022-02-03 20:30:59 +00:00
.prettierrc enhancement: apply prettier 2022-01-16 15:11:27 +04:00
Dockerfile add dockerfile, and build instuctions 2022-01-17 19:43:05 +01:00
LICENSE Create LICENSE 2022-01-10 15:08:24 -05:00
package-lock.json generic branding 2022-02-01 04:40:58 -05:00
package.json added husky for pre commit formatting 2022-01-26 17:26:12 -05:00
postcss.config.js build keyboard and guess state 2022-01-08 18:35:47 -05:00
README.md Update README.md 2022-02-01 09:39:53 -05:00
tailwind.config.js Apply prettier 2022-01-29 18:40:40 -05:00
tsconfig.json enhancement: apply prettier 2022-01-16 15:11:27 +04:00

Word Guessing Game

This is a clone project of a popular word guessing game made using React, Typescript, and Tailwind.

To Run Locally: Clone the repository and perform the following command line actions:

$ cd word-guessing-game
$ npm install
$ npm run start

To build/run docker container:

$ docker build -t game .
$ docker run -d -p 3000:3000 game

open http://localhost:3000 in browser.

To create a version in a different language:

  • Update the title, the description, and the "You need to enable JavaScript" message in public/index.html
  • Update the language attribute in the HTML tag in public/index.html
  • Update the name and short name in public/manifest.json
  • Update the strings in src/constants/strings.ts
  • Add all of the five letter words in the language to src/constants/validGuesses.ts, replacing the English words
  • Add a list of goal words in the language to src/constants/wordlist.ts, replacing the English words
  • Update the "About" modal in src/components/modals/AboutModel.tsx
  • Update the "Info" modal in src/components/modals/InfoModal.tsx
  • If the language has letters that are not present in English, add them to the CharValue type in src/lib/statuses.ts and update the keyboard in src/lib/components/keyboard/Keyboard.tsx
  • If the language's letters are made of multiple unicode characters, use a grapheme splitter at various points throughout the app or normalize the input so that all of the letters are made of a single character
  • If the language is written right-to-left, add dir="rtl" to the HTML tag in public/index.html and prepend \u202E (the unicode right-to-left override character) to the return statement of the inner function in generateEmojiGrid in src/lib/share.ts