/hat

Game with words

Primary LanguageVueBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Hat online

made-with-python

This is a web app, created to play word game "Hat" online, using browser.

Last release is hosted at hat.alekseev.tk.

Also, last master commit will be hosted at staging.hat.alekseev.tk.

Information, connected to the MIPT Project description is located in PROJECT.md file.

Status

Online Hat CI Tests Codacy Badge codecov Documentation Status

Components description

Backend

Here game logic is described. It is divided into 4 main parts:

  • user statistics controller
  • words controller
  • game controller
  • room controller

Patterns:

  • Singleton
  • Decorator
  • Adapter

Stack

  • Python 3.7
  • Flask
  • SocketIO

Status - Ready

Implementation deadline -- 28.04.2020

Frontend

Here Website design and its link with Backend are described.

Patterns:

  • Command
  • Chain of Responsibility
  • Observer
  • Composite

Stack

  • HTML
  • Vue / Buefy / JS

Status - Ready

Estimated implementation deadline -- 28.04.2020

Tests

Unit tests for Backend.

Stack

  • Pytest

Status - Ready

Estimated implementation deadline -- 28.04.2020

Easy deploy

Here is how to start app in docker, listening to port 8080.

docker-compose up -d

Starting app outside container

Before running apps, satisfy following dependencies

  • Poetry 1.0.5
  • Python 3.7
  • npm 6.14.4

Then, you can start everything:

Backend

cd backend
poetry install
poetry run task flask

Frontend

cd frontend
npm install
npm run serve

Running the tests

After installing dependencies, run

cd backend
poetry install
poetry run task test

Built with

Authors

Alekseev Aleksandr

Piachonkin Aleksandr

Acknowledgments