yepesasecas / live_chess

Inspired by lichess.org. and the need to use Elixir. live_chess is born

Home Page:https://livechess.gigalixirapp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LiveChess

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

Screen Shot 2022-02-05 at 9 00 30 PM

Dependencies

  1. Elixir
  2. Phoenix
  3. PostgreSQL

Installation

  • 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 with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Configuration

TODO If the software is configurable, describe it in detail, either here or in other documentation to which you link.

Usage

  1. To create a table you have two options:

  2. use the url and change TABLE_NAME for any name you want. https://livechess.gigalixirapp.com/table/TABLE_NAME

  3. go to https://livechess.gigalixirapp.com/. fill in you player name and click 'Create table'

  4. You are redirected to the game table. and waiting for your opponent to arrive.

  5. Share the url with your friends. or open the url in other browser.

  6. now you can start playing.

Setup you player's name

  1. 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

How to test

Coverage Status

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

Known issues

Everything!

Getting help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.

Getting involved

Fork the project, add new features, fix bugs and create a pull request.

Some features to implement:

  1. Better UI/UX.
  2. Responsive board.
  3. Clock time.
  4. A 'waiting player to start match' loading page.
  5. and, lots of other things I can't think in this moment.

Credits and references

About

Inspired by lichess.org. and the need to use Elixir. live_chess is born

https://livechess.gigalixirapp.com


Languages

Language:Elixir 83.5%Language:HTML 13.4%Language:JavaScript 2.3%Language:CSS 0.8%