You can see the deployment result of main branch on:
Elixir Wordle is a game that can be played on the web, where players aim to guess a word related to Elixir programming language.
Every day, a random word is chosen, and players are given the word's length, a clue, and six chances to guess the word. After each guess, players receive feedback to help them narrow down the possibilities and make a more informed guess.
Example:
- Incorrect letters are displayed in gray (⬜).
- Correct letters in yellow (🟨).
- Correctly placed letters in green (🟩).
CLUE: "Datatype"
⬜⬜⬜⬜⬜ length(word) => 5
⬜🟨⬜⬜🟨 Trying... 'FLOAT' => Now you know that contains 'L' and 'T'.
🟨⬜⬜🟨⬜ Trying... 'LISTS'
🟩⬜⬜🟨⬜ Trying... 'TREES' => Now you know the word starts with 'T'.
🟩🟩🟩🟩🟩 Trying... 'TUPLE' => You got it!
Prerequisites: Elixir 1.14.1, Erlang/OTP 25.1, PostgreSQL.
- Clone the repo:
git clone [email protected]:IciaCarroBarallobre/elixir_wordle.git
- Install dependencies:
mix deps.get
. - Configure DB, creation and migration:
mix ecto.setup
. - Start Phoenix endpoint
mix phx.server
oriex -S mix phx.server
(inside IEx). - Visit
localhost:4000
.
The following tools were used in the development of this project:
- Phoenix: an open-source web development framework written in the Elixir programming language.
- PostgreSQL: a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance.
- Wallaby: our end-to-end testing tool, which also allows us to take responsive screenshots. By default, test configuration excludes wallaby tests. To run only Wallaby tests, use the following command:
mix test --only wallaby
For additional documentation about the design like:
- Mockups 📱
- Flow diagram 📊
- Sequence diagram 📊
💬 We value your contributions to this project. If you have suggestions for new features or encounter any bugs, please open an issue or fork the project and then submit a pull request.
👥 This project was started thanks to the hack-a-thing session organized by Elixir Newbie. Many people from this same group (like @gcavanunez or @julioucla) have contributed after this session to it with commits, PR reviews, etc. So I am extremely grateful to all of them. 💜