This project began as a mental exercise and whiteboarding experiment during a job interview a few years ago, but the idea was fun and it seemed like a really good way to showcase proficiency in several different technologies at once. So I decided to make a Battleship implementation using Elixir and Phoenix, Vue.js, Tailwind.css, and Redis, using Websockets.
There is plenty of room for improvement, including potential future features including a waiting room, user stats, and more, and could indeed be turned into a full Battleship server on a whim, if inspiration strikes.
You will need to have the following installed on your system in order to use this:
All can be installed through apt-get or homebrew.
To start your Phoenix server:
mix deps.get
npm install
inside the assets
directorymix phx.server
Now you can visit localhost:4000
from your browser.
Ready to run in production? Please check our deployment guides.