Code Monkey home page Code Monkey logo

fourinarow-server's Introduction

Four in a Row - Server

Screenshot of main screen

An online version of the popular game four in a row, written in Rust on the server side and Flutter + Dart on the client.

Download here: https://play.google.com/store/apps/details?id=ml.fourinarow

Or play online (beta): https://play.fourinarow.ffactory.me/

Related Projects:

Features:

  • world wide online play
  • over 4000 downloads
  • account creation, friends system
  • beautiful, minimalist design
  • subtle animations
  • request to battle your friends
  • local mode: two players - one device

Under the hood:

  • reliable websocket connection
  • message delivery guarantee
  • message reordering on client and server side
  • clean architecture: state and view completely separate
  • automatic reconnection

Screenshot of play selection

Screenshot of play

Deployment

Prerequisites

Before getting started, make sure you have Docker with Docker Compose installed on your machine.

Deploy

  1. Set up reverse proxy with traefik: https://github.com/filippo-orru/vps-reverse-proxy. Follow instructions there.

  2. Create a deploy key using this script and add it to the Github repository.

  3. Clone this repository using the command echoed by the script.

  4. Copy the .env_template file to .env and fill in the values.

    cp .env_template .env
    nano .env
  5. Create a systemd service file:

    sudo cp fourinarow-server.service /etc/systemd/system/
    sudo systemctl daemon-reload
    sudo systemctl enable fourinarow-server
    sudo systemctl start fourinarow-server
  6. Check the status:

    sudo systemctl status fourinarow-server

fourinarow-server's People

Contributors

filippo-orru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.