Create a free, ad-free, and open-source internet chess server where anyone in the world can play online chess and we can practice elixir, phoenix and liveView. (LiveChess.. LiveView. you got it).
This project is inspired by lichess.org. Lichess.org has created an awesome free and open-source project and community.
also, inspired by the elixir community. I know, we can create a really awesome online chess server using Elixir, Phoenix and LiveView.
project status: Alpha. Anyone is welcome to contribute.
links to production: https://livechess.gigalixirapp.com
- Elixir
- Phoenix
- PostgreSQL
- Install dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.setup
- Start Phoenix endpoint with
mix phx.server
or inside IEx withiex -S mix phx.server
Now you can visit localhost:4000
from your browser.
Ready to run in production? Please check our deployment guides.
TODO If the software is configurable, describe it in detail, either here or in other documentation to which you link.
-
To create a table you have two options:
-
use the url and change TABLE_NAME for any name you want.
https://livechess.gigalixirapp.com/table/TABLE_NAME
-
go to
https://livechess.gigalixirapp.com/
. fill in you player name and click 'Create table' -
You are redirected to the game table. and waiting for your opponent to arrive.
-
Share the url with your friends. or open the url in other browser.
-
now you can start playing.
- You can setup your player name by passing the parameter
player_name=MY_NICKNAME
. Example:https://livechess.gigalixirapp.com/table/TABLE_NAME?player_name=MY_NICKNAME
Run test with coverage
$ MIX_ENV=test mix do coveralls.json
Run test with coverate and HTML review
$ MIX_ENV=test mix coveralls.html ; open cover/excoveralls.html
Run tests
$ mix test
Everything!
If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.
Fork the project, add new features, fix bugs and create a pull request.
Some features to implement:
- Better UI/UX.
- Responsive board.
- Clock time.
- A 'waiting player to start match' loading page.
- and, lots of other things I can't think in this moment.
- https://codepen.io/viethoang012/pen/xRNgyM
- lichess.org. Inspiration to create LiveChess
- deployment guide: https://staknine.com/deploy-phoenix-to-gigalixir-using-elixir-releases/