A real-time, highly concurrent Chess application built with Elixir and the Phoenix Framework.
Welcome to Chess, a robust and scalable web-based chess application. By leveraging Elixir's functional concurrency model and the Phoenix framework's real-time capabilities, this platform aims to deliver a seamless, low-latency multiplayer chess experience. It utilizes Elixir's actor model (OTP) for flawless state management across simultaneous matches.
01.mp4
02.mp4
03.mp4
-
Real-Time Gameplay: Lightning-fast move synchronization with zero noticeable latency, powered by Phoenix WebSockets / LiveView.
-
High Concurrency: Fault-tolerant architecture capable of running and isolating thousands of simultaneous chess matches.
-
Interactive UI: Clean, responsive front-end tailored for an intuitive user experience.
- Backend: Elixir, Phoenix Framework
- Frontend: LiveView, JavaScript
- Build Tool / Package Manager: Mix
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
Ensure you have the following installed on your system:
- Elixir (v1.15 or higher recommended)
- Erlang/OTP (v24 or higher recommended)
- Node.js (for compiling frontend assets)
- PostgreSQL (if database persistence/Ecto is configured)
- Clone the repository:
git clone https://github.com/Null-logic-0/chess.git
cd chess- Install and set up dependencies:
mix setup - Run Tests
mix test- Read Docs
mix docsThis will generate HTML docs inside:
doc/index.htmlOpen the docs
open doc/index.html- Start Server
# Standard start
mix phx.server
# Start with an interactive shell
iex -S mix phx.serverOpen your favorite web browser and navigate to http://localhost:4000.
Ready to take this application live? The Phoenix framework makes deployment straightforward. Please refer to the official deployment guides to best prepare your app for a production environment.
Contributions, issues, and feature requests are always welcome! Feel free to check the issues page. If you'd like to contribute code, please fork the repository, create a feature branch, and submit a pull request.
This project is open-source and licensed under the MIT License. See the LICENSE file for more information.