Wordle Solver - Built With Java Spring Boot + React.js

Overview

Wordle Solver

Code Coverage Badge Line Coverage Badge


Logo

Wordle Solver

Get a little Wordle help using information theory.
Explore the docs »

View the Application

About The Project

Wordle has taken over the world (or at least the first 5-15 minutes of my mornings). Inspired by 3Blue1Brown's video about information theory, I believe we can learn to make better guesses by studying how the Wordle Solver "thinks" (similar to the way Chess players study games played against computers). Using the Wordle Solver can tell us:

  • What are the best starting words?
  • What word should I pick to narrow down my options given the words guessed so far?
  • What are common prefixes and suffixes that fit word validation constraints?

If you're interested in the math behind the project, check out my high-level design document.

Demo

Built With

Getting Started with Development

To get a local copy up and running, follow these steps.

Prerequisites

Install these prerequisites and clone the repository.

git clone [email protected]:valarao/wordle-solver.git

Backend Testing

Now, you can test the backend with code coverage reports.

  1. Build locally
    mvn clean jacoco:prepare-agent install && mvn jacoco:report
  2. Analyze coverage report at /target/site/jacoco/index.html

Preview Backend Changes with Client

You can also build the project, run the executable .jar file, and view the bundled client.

  1. Build locally
    mvn clean install && java -jar target/wordle-solver.jar
  2. Preview client on localhost:5000

Quick-Preview Client without Building Server

Alternatively, you can quick-preview the frontend client separately.

  1. Build locally
    mvn clean install && java -jar target/wordle-solver.jar
  2. Navigate directly into client folder
    cd src/main/ui
  3. Install node modules
    yarn install
  4. Start development client
    yarn start
  5. Preview client on localhost:3000 (frontend changes automatically detected)

License

Distributed under the MIT License.

Acknowledgments

I'd like to strongly acknowledge 3Blue1Brown for inspiring this project.

You might also like...

Golden Axe (1989) game implemented in java using only standard libraries (Java 2D, Swing, AWT & Java Sound API)

Golden Axe (1989) game implemented in java using only standard libraries (Java 2D, Swing, AWT & Java Sound API)

Golden Axe (1989) game implemented in java using only standard libraries (Java 2D, Swing, AWT & Java Sound API), so no external libraries required. Video: https://youtu.be/uevIVLNhQqs

Jul 21, 2022

A 2d Java physics engine, native java port of the C++ physics engines Box2D and LiquidFun

jbox2d Please see the project's BountySource page to vote on issues that matter to you. Commenting/voting on issues helps me prioritize the small amou

Dec 27, 2022

A Java Game Engine created in Java with LWJGL!

💬 Suffler Engine Suffler Game Engine is an engine created in java using OpenGL to Graphics. Currently being developed at Eclipse, and Visual Studio C

Jul 23, 2022

Desktop/Android/HTML5/iOS Java game development framework

Desktop/Android/HTML5/iOS Java game development framework

Cross-platform Game Development Framework libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux

Jan 1, 2023

A complete 3D game development suite written purely in Java.

A complete 3D game development suite written purely in Java.

jMonkeyEngine jMonkeyEngine is a 3-D game engine for adventurous Java developers. It’s open-source, cross-platform, and cutting-edge. 3.2.4 is the lat

Dec 31, 2022

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.

LWJGL - Lightweight Java Game Library 3 LWJGL (https://www.lwjgl.org) is a Java library that enables cross-platform access to popular native APIs usef

Dec 29, 2022

Java / JavaFX / Kotlin Game Library (Engine)

Java / JavaFX / Kotlin Game Library (Engine)

About JavaFX Game Development Framework Why FXGL? No installation or setup required "Out of the box": Java 8-15, Win/Mac/Linux/Android 8+/iOS 11.0+/We

Jan 2, 2023

Jetserver is a high speed nio socket based multiplayer java game server written using Netty and Mike Rettig's Jetlang.It is specifically tuned for network based multiplayer games and supports TCP and UDP network protocols.

Note New version of Jetserver is called Nadron and is in a new netty 4 branch of this same repo. JetServer is a java nio based server specifically des

Dec 14, 2022

[LEGACY] LWJGL 2.X - The Lightweight Java Game Library.

[LEGACY] LWJGL - Lightweight Java Game Library WARNING This is the repository of the original LWJGL, which is no longer actively maintained. Unless yo

Dec 26, 2022
A tool that can calculate the average solution set for a first guess in the game of Wordle

word-distances A tool that can calculate the average solution set for a first guess in the game of Wordle. Yes, the name isn't great -- I initially ha

null 1 May 2, 2022
A word game inspired by the original Wordle to run in the command line.

Wordle This is a word game inspired by the original Wordle to run in the command line. It can be played in english or in spanish. How to run it Open a

null 37 Dec 17, 2022
This script attempts to solve todays Wordle.

Solve Wordle with a Bang! This script attempts to solve todays Wordle.

Max Rydahl Andersen 12 Jul 27, 2022
A program that helps you beat the Wordle game

WordleHelper A program that helps you beat the Wordle game Usage: java -jar WordleHelper.jar [-c [maxTries]] Or just double-click the program icon to

MCUmbrella 7 Dec 8, 2022
WordleCracker - This bot is designed for guessing 5 letter words for the trending game wordle

WordleCracker This bot is designed for guessing 5 letter words for the trending game wordle. The user informs about the status of the game by giving i

Shawon Majid 3 Nov 7, 2022
Prototype of Wordle solving algorithm

AWordle This time you Wordle the program. 'AWordle' stands for 'Automated Wordle' or 'Anti-Wordle', or something else I don't care what you think it i

MCUmbrella 1 Feb 5, 2022
eWordle: an extended version of Wordle with full-featured helper.

eWordle An extended version of Wordle (Mini Project of EBU4201) with full-featured helper. How to Play Guess the Wordle word in tries just one more th

Mingchun 6 Jun 11, 2022
It is a simple java terminal game. I built it in order to practice my code skills that I obtained while I was learning Java.

Java-terminal-game It is a simple java terminal game. I built it in order to practice my code skills that I obtained while I was learning Java. The ga

Baistan Tashkulov 0 Jan 20, 2022
2048FX - The game 2048, built using JavaFX and Java 11

The game 2048 built using JavaFX 16 and Java 17.

Bruno Borges 261 Dec 28, 2022
A mixin based ghost client for Minecraft 1.8.9 built on Minecraft Forge.

A mixin based ghost client for Minecraft 1.8.9 built on Minecraft Forge. Originally designed as a MCP Client (called Tephra), it is now being ported t

Peanut 130 Jan 1, 2023