Wizdle.Models
1.0.2
See the version list below for details.
dotnet add package Wizdle.Models --version 1.0.2
NuGet\Install-Package Wizdle.Models -Version 1.0.2
<PackageReference Include="Wizdle.Models" Version="1.0.2" />
<PackageVersion Include="Wizdle.Models" Version="1.0.2" />
<PackageReference Include="Wizdle.Models" />
paket add Wizdle.Models --version 1.0.2
#r "nuget: Wizdle.Models, 1.0.2"
#:package Wizdle.Models@1.0.2
#addin nuget:?package=Wizdle.Models&version=1.0.2
#tool nuget:?package=Wizdle.Models&version=1.0.2
<p align="center"><img src="Resources/title.png" alt="Wizdle" width="512" height="512"></p>
๐ญ High Level
A library for solving Wordle.
Simple Flow:
---
config:
theme: redux-dark
look: handDrawn
layout: fixed
---
flowchart LR
CORRECT["Correct Letters"] --> REQUEST["Request"]
MISPLACED["Misplaced Letters"] --> REQUEST
EXCLUDE["Excluded Letters"] --> REQUEST
REQUEST --> ENGINE["Engine"]
ENGINE --> RESPONSE["Response"]
RESPONSE --> WORDS["Possible Words"]
Prerequisites
| Prerequisite | Note |
|---|---|
| .NET10 SDK | .NET10 or greater required.<br/>Check current .NET version dotnet --version.<br/>Download .NET10 here. |
| Docker | Download Docker here. |
๐ง Wizdle
The Wizdle core library found here, is responsbile for translating the request into a list of possible Words.
Example
var wizdleEngine = new WizdleEngine(logger);
var request = new WizdleRequest
{
CorrectLetters = "....t"
MisplacedLetters = "..rs.",
ExcludeLetters = "haebu",
};
WizdleResponse response = wizdleEngine.ProcessWizdleRequest(request);
// response.Words: ["skirt", "snort", "sport"]
Package
Available on:
๐ป Wizdle.Console
The Wizdle Console application allows us to access all the functionality of the Wizdle library via the CLI.
More information can be found here
Example
Command:
$ ./Wizdle.Console.exe solve --correct "....t" --misplaced "..rs." --exclude "haebu"
Response:
Processing WizdleRequest: CorrectLetters: "....t" MisplacedLetters: "..rs." ExcludeLetters: "haebu"
Mapping WizdleRequest: CorrectLetters: "....t" MisplacedLetters: "..rs." ExcludeLetters: "haebu"
Mapped SolveParameters: CorrectLetters: "????t" MisplacedLetters: "??rs?" ExcludeLetters: "haebu"
Found 3 Word(s) matching the criteria.
Found 3 Word(s) matching the criteria.
skirt
snort
sport
๐ช Wizdle.Wpf
The Wizdle WPF application allows us to access all the functionality of the Wizdle library via a GUI on Windows.
More information (and installers) can be found here.
๐จ Wizdle.Api
The Wizdle Api Service contains a deployable API instance of the Wizdle library.
More information can be found here
๐ฏ POST
Summary: Processes a Wizdle request in an attempt to solve the possible words.
Request
Content-Type: application/json
Body Parameters
| Name | Type |
|---|---|
correctLetters |
string |
misplacedLetters |
string |
excludeLetters |
string |
Example:
{
"correctLetters": "a__le",
"misplacedLetters": "t",
"excludeLetters": "xyz"
}
Response
Status Code: 200 OK
Body
| Name | Type |
|---|---|
messages |
array of string |
words |
array of string |
Example:
{
"messages": ["Found 2 Word(s) matching the criteria."],
"words": ["apple", "angle"]
}
๐ฒ Wizdle.Web
The Wizdle Web contains a deployable Blazor web app instance of the Wizdle library (hosted on the new dotnet Aspire platform & Docker).
More information can be found here
๐ค Wizdle.Discord
A Discord bot hosting all the functionality of the Wizdle library, users can integrate the bot into their Discord servers.
Invite link for Discord.
๐งช Testing
- Unit Testing
- Integration Testing
- Functional Testing
- Wizdle.Api.Functional.Tests
- Wizdle.Web.Functional.Tests (using Playwright)
- Performance Testing
- Wizdle.Performance.Tests (using BenchmarkDotNet)
- Accessibility Testing
- Wizdle.Web.Functional.Tests (using axe-core)
- Mutation Testing
โ๏ธ Make
This project includes a Makefile to simplify common development tasks. Run make help to see all available commands.
Available Commands
| Command | Description |
|---|---|
make help |
Show all available make commands |
make build |
Build the entire solution in Release mode |
make test |
Run unit and integration tests |
make build-api |
Build the Wizdle.Api Docker image |
make build-web |
Build the Wizdle.Web Docker image |
make build-discord |
Build the Wizdle.Discord Docker image |
make build-all |
Build all Docker images (api, web, discord) |
make compose |
Start all services using docker-compose in detached mode |
make stop |
Stop all running Docker containers |
make stop-volumes |
Stop containers and remove associated volumes |
make logs |
Show and follow logs from all Docker containers |
make restart |
Stop containers, rebuild all images, and restart services |
make clean |
Clean build artifacts and prune all Docker resources |
make docker-prune |
Prune unused Docker resources (images, containers, volumes) |
make trust-cert |
Trust the .NET HTTPS development certificate |
make token |
Generate a random 32-character token for API keys |
make mutation |
Run Stryker mutation testing |
make aspire |
Update Aspire tooling to latest version |
Quick Start
Build the solution:
make buildRun tests:
make testGenerate tokens for your
.envfile:make tokenBuild all Docker images:
make build-allStart all services:
make composeView logs:
make logsStop services:
make stop
TL;DR for the TL;DR
Lyndon, did you just spend all this time working on a tool to cheat wordle... rather than actually just solving the word?!
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Wizdle.Models:
| Package | Downloads |
|---|---|
|
Wizdle
A library for solving Wordle. |
GitHub repositories
This package is not used by any popular GitHub repositories.