Code Monkey home page Code Monkey logo

rafarel / scrabble-solver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kamilmielnik/scrabble-solver

0.0 0.0 0.0 30.22 MB

Free, open-source, and cross-platform analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian & Spanish.

Home Page: https://scrabble-solver.org

License: Other

JavaScript 4.10% TypeScript 86.09% SCSS 9.80%

scrabble-solver's Introduction

Scrabble Solver logo

Free, open-source, and cross-platform analysis tool for Scrabble, Super Scrabble & Literaki.

Quickly find top scoring words using given letters and board state.

Available at https://scrabble-solver.org in 8 languages.

Flag of United Kingdom Flag of United States Flag of France Flag of Germany Flag of Iran Flag of Poland Flag of Romania Flag of Spain

Version License Node version

Build Test ESLint

Screencast GIF showing user interface when solving for oxyphenbutazone, which is a top-scoring word in English version of Scrabble

scrabble-solver

Table of contents

  1. Dictionaries
  2. Run
  3. Install
  4. Uninstall
  5. Develop
    1. Setup
    2. Run app dev server
    3. Rebuild a single package
    4. Add a new language
  6. Tech stack
  7. Related projects
  8. Media

Dictionaries

Language Word list Word definitions Highest-scoring word
🇬🇧 English 💾 SOWPODS Merriam-Webster oxyphenbutazone (1458)
🇺🇸 English 💾 TWL06 Merriam-Webster oxyphenbutazone (1458)
🇫🇷 French 💾 ODS8 CNRTL schizothymiques (1566)
🇩🇪 German 💾 hippler/german-wordlist DWDS polytoxikomanem (1512)
🇮🇷 Persian 💾 MansourM/persian-to-persian-dictionary واژه یاب ‏(756) اگزیستانسیالیست
🇵🇱 Polish 💾 SJP.PL SJP.PL współposiądźmyż (1512)
🇷🇴 Romanian 💾 LOC 5 dexonline luxemburghezele (1944)
🇪🇸 Spanish 💾 FISE-2 Diccionarios.com flexibilizabais (1323)

Run

You can run Scrabble Solver on your machine - all you need is Node.js 20 or later.

npx scrabble-solver@latest

Install

npm install -g scrabble-solver

# and then run anytime with:
scrabble-solver

Uninstall

npm uninstall -g scrabble-solver

# Logs and dictionaries are stored in $HOME/.scrabble-solver
# $HOME location is acquired using os.homedir()
rm -rf $HOME/.scrabble-solver

Develop

Setup

npm install
npm run build

Run app dev server

npm run dev -w @scrabble-solver/scrabble-solver

or

cd packages/scrabble-solver
npm run dev

Note: hot code reload works only for the scrabble-solver package.

Rebuild a single package

npm run build -w @scrabble-solver/configs
npm run build -w @scrabble-solver/constants
npm run build -w @scrabble-solver/dictionaries
npm run build -w @scrabble-solver/logger
npm run build -w @scrabble-solver/scrabble-solver
npm run build -w @scrabble-solver/solver
npm run build -w @scrabble-solver/types
npm run build -w @scrabble-solver/word-definitions
npm run build -w @scrabble-solver/word-lists

Add a new language

  1. Find and download a flag representing the locale in an SVG format
  2. Rename the file to FlagXX.svg and put it in packages/scrabble-solver/src/icons
  3. Export the SVG file in packages/scrabble-solver/src/icons/index.ts
  4. Add IETF language tag for the new locale in packages/types/src/Locale.ts
  5. Rebuild the types package
    npm run build -w @scrabble-solver/types
  6. Add locale configuration in packages/scrabble-solver/src/i18n/constants.ts
  7. Update locale-detecting code in packages/scrabble-solver/src/lib/detectLocale.ts
  8. Add game configs for the new locale in packages/configs/src/languages
  9. Add an export for these locale configs in packages/configs/src/languages/index.ts
  10. Add a translation file in packages/scrabble-solver/src/i18n/languages and fill it with translations
    • Copy any existing file, e.g. english.json and modify it
  11. Add an entry for the translations in packages/scrabble-solver/src/i18n/i18n.ts
  12. Add a function to fetch the list of words in the new locale in packages/word-lists/src/getWordList.ts
  13. Add a function to fetch the word definition in the new locale in packages/word-definitions/src/crawl.ts
  14. Add a function to parse the word definition crawled in the previous step in packages/word-definitions/src/parse.ts

Tech stack

Related projects

Lexatious

The user interface and source code for the web front end of Lexatious is based on Scrabble Solver.

Media

scrabble-solver's People

Contributors

cboki avatar hansolo80 avatar kamilmielnik avatar kyczan avatar mansourm avatar rerollea avatar theraphael0000 avatar yuriyyakym 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.