/MOOgiwara

A multiplayer online browser ONE PIECE TCG simulator

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

MOOgiwara

Code Style: Google MVP

MOOgiwara is a multiplayer online browser ONE PIECE TCG game simulator, written in TypeScript, that relies on Phaser and Node.js.

Given how new the ONE PIECE TCG is, there aren't many options for players to train and prepare for tournaments online, and MOOgiwara aims to serve the TCG community in this regard.

Installation for Development

  1. git clone https://github.com/BAA-Studios/MOOgiwara.git
  2. Change directories to ./MOOgiwara/client
  3. npm install
  4. Change directories to ./MOOgiwara/server
  5. npm install
  6. Install MongoDB (instructions here)
  7. Use mongorestore to initialise the test database (detailed instructions pending)

Running the web app

  1. Change directories to ./MOOgiwara/client
  2. npm run start (use build instead of start to build a production version in dist/)
  3. Visit link: http://localhost:8000
    • To open dual-client, just open up the same link in another tab/window for a new instance

Deploying the web app

  1. Change directories to ./MOOgiwara/client
  2. npm run build
  3. npm run production

Running Server

  1. Change directories to ./MOOgiwara/server
  2. npm run start

Gallery

splash_screen mulligan game_board high_res_view_of_card

Tech Stack

Software Tool Target Version
Node.js 19.2.0
npm 9.1.3
nodemon 2.0.20
TypeScript 4.9.3
socket.io 4.5.4
socket.io-client 4.5.4
express 4.18.2
express-session 1.17.3
cors 2.8.5
vite 4.1.4
phaser 3.60.0-beta.18
shuffle-array 1.0.1
gts 4.0.0
google auth library 8.7.0
mongoose 7.0.0
MongoDB Community Edition 6.0.4
MongoDB Shell 1.8.0
MongoDB Database Tools 100.7.0