2.13.4 • Published 3 months ago

scrabble-solver v2.13.4

Weekly downloads
94
License
CC-BY-NC-ND-4.0
Repository
github
Last release
3 months ago

scrabble-solver

Available at: http://scrabble-solver.kamilmielnik.com/ (use npm version for better performance, your machine is most likely faster than this server)

alt frontend

Quick run

  1. npm install -g scrabble-solver
  2. scrabble-solver

Usage

  • put your letters in the TILES input field and hit Enter to find possible solutions for them on the board
  • space () means a blank tile (using blanks increases the time to find results)
  • sort results by clicking on table headers
  • INDEX is POINTS to #TILES ratio
  • hover over a result to see where it fits on the board and find the word definition
  • click on a result to put it on the board
  • filtering results works with regular expressions (e.g. is$ for words ending with is)
  • navigate through cells on the board with arrow keys
  • when cell on the board is focused
    • type a letter to put a tile
    • hit Backspace, Delete or Space to remove a tile
    • hit Ctrl + B or Command + B to toggle tile blank (important, because blanks are worth 0 points)
    • hit Enter to search for results
  • put a word in FIND WORD DEFINITION input field and hit Enter to find its definition

Full build

  1. npm install
  2. npm run build
  3. npm start

Works with

  • node 7.9.0

History

My baby.

Back in January 2012 I wrote 200 lines of C++ code to load up a dictionary, store it in a Trie structure, read up to 7 letters from console input and traverse the Trie structure to find all the words that could be created from provided letters. I did it for 200 PLN (about 60 USD back then) and it was my first money earned by programming (assuming that beer is not a currency).

I enjoyed working on it and wanted to enhance that with some visuals to take it to the next level. So I created a simple Windows Forms project in C#, added support for "blank" characters & displayed the results grouped by word length. And I left it like that.

Some time later I got familiar with WPF and somehow I got the idea it would be fun to enhance the C# solver with a visual board input. This would provide solver with information which would allow to find a move that will give you the most points. So in September 2014 I started working on a new C# WPF project, but I haven't got far with it.

Seasons change, time passes by, as the weeks become the months become the years ...

After getting experienced with JavaScript, I decided to tackle the challenge once again. I started a new project in February 2017. React on the front, node.js in the back. On September 13th 2017, five and a half years since the beginning, scrabble-solver@1.0.0 was released. And I saw it was good.

~My mind is at piece ever since. I don't even have nightmares anymore. Or dreams. Or goals.~

~It's at 1.4.0 now. I have added en-US & en-GB locales support, a mini tutorial and kept the dependencies up to date (e.g. upgraded React from 15 to 16).~

Seasons change, time passes by, as the weeks become the months become the years ...

Frontend development has changed, I've learned a few things. It's time for scrabble-solver@2.0.0. In 2019 I started to work on a new version. But due to many distractions the work is still ongoing. The plans for 2.0.0 are:

  • new UI
  • split the project into multiple packages (monorepo)
  • abuse React hooks usage

I also have plans for 3.0.0:

  • TypeScript

There's no deadline for this.

2.13.5-alpha.0

3 months ago

2.13.4

3 months ago

2.13.3

3 months ago

2.13.2

6 months ago

2.13.0

6 months ago

2.13.1

6 months ago

2.12.5

9 months ago

2.12.4

9 months ago

2.11.0

1 year ago

2.11.1

1 year ago

2.11.8

1 year ago

2.11.9

1 year ago

2.11.6

1 year ago

2.11.7

1 year ago

2.11.4

1 year ago

2.11.5

1 year ago

2.11.2

1 year ago

2.11.3

1 year ago

2.10.1

1 year ago

2.10.2

1 year ago

2.10.10

1 year ago

2.10.11

1 year ago

2.10.0

1 year ago

2.10.9

1 year ago

2.10.7

1 year ago

2.10.8

1 year ago

2.10.5

1 year ago

2.10.6

1 year ago

2.10.3

1 year ago

2.10.4

1 year ago

2.12.0

1 year ago

2.12.3

1 year ago

2.12.1

1 year ago

2.12.2

1 year ago

2.9.2

1 year ago

2.9.1

1 year ago

2.9.3

1 year ago

2.9.0

2 years ago

2.8.11

2 years ago

2.8.10

2 years ago

2.8.7

2 years ago

2.8.6

2 years ago

2.8.9

2 years ago

2.8.8

2 years ago

2.8.1

2 years ago

2.8.0

2 years ago

2.8.3

2 years ago

2.8.2

2 years ago

2.8.5

2 years ago

2.8.4

2 years ago

2.7.2

2 years ago

2.7.0

2 years ago

2.7.1

2 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.5.0

3 years ago

2.4.10

3 years ago

2.4.9

3 years ago

2.4.8

3 years ago

2.4.7

3 years ago

2.4.6

3 years ago

2.4.5

3 years ago

2.4.4

3 years ago

2.4.3

3 years ago

2.4.2

3 years ago

2.4.1

3 years ago

2.4.0

3 years ago

2.3.3

3 years ago

2.3.2

3 years ago

2.3.1

3 years ago

2.3.0

3 years ago

2.2.2

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.0

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

2.0.0-rc.21

3 years ago

2.0.0-rc.20

3 years ago

2.0.0-rc.19

3 years ago

2.0.0-rc.18

3 years ago

2.0.0-rc.16

3 years ago

2.0.0-rc.15

3 years ago

2.0.0-rc.14

3 years ago

2.0.0-rc.13

3 years ago

2.0.0-rc.12

3 years ago

2.0.0-rc.11

3 years ago

2.0.0-rc.10

3 years ago

2.0.0-rc.9

3 years ago

2.0.0-alpha.6

5 years ago

2.0.0-alpha.5

5 years ago

2.0.0-alpha.4

5 years ago

2.0.0-alpha.3

5 years ago

2.0.0-alpha.2

5 years ago

2.0.0-alpha.1

5 years ago

1.4.0

5 years ago

1.3.1

6 years ago

1.2.3

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

1.0.0-rc.2

7 years ago

1.0.0-beta.4

7 years ago

1.0.0-beta.3

7 years ago