Quanridor

GitHub

Quanridor

quanridor

Showcase

PC version (very fast, not showing every single details...)

https://github.com/marcpinet/quanridor/assets/52708150/8aa827ca-f739-4675-a9a9-6386ea3f930d

Mobile version (same, but you can see me playing online)

https://github.com/marcpinet/quanridor/assets/52708150/9ef180f8-7e02-4061-984a-86cdffe0278c

๐ŸŒ Hosting

You can access the project by visiting: http://quanridor.ps8.academy/

Unless I forgot to pay the bill, in which case you can still run the project locally by following the instructions below

๐Ÿ“ Description

Quoridor game, available for both web and mobile platforms (with bots and online support) using only pure HTML CSS & Javascript. Made as part as a school project

This version of the game includes a fog of war system, which means that you can only see the tiles that are in your line of sight. This adds a whole new layer of strategy to the game, as you can't see the other player's moves until you're close enough to them.

The whole solution will be a fully working version of the game where you can play online against your friends or against an AI with multiple levels of difficulty.

There's also a chat system, emote system, leaderboard, statistics, and much more.

๐Ÿ“ฆ Features (W.I.P)

  • Minimalistic and clean UI/UX design ๐Ÿ–ฅ๏ธ
  • Login / Register system with secure backend ๐Ÿ“
  • Token authentication system (JWT) ๐Ÿช
  • In-progress game listing ๐Ÿ“‹
  • Play locally with someone else ๐ŸŽฎ
  • Play against bots with different levels of difficulty ๐Ÿค–
  • Leaving a game? No problem, it's in our database, waiting for you to join back! ๐Ÿ“‚
  • Multiplayer online games with friends or random people ๐ŸŒ
  • Social system (friends, chat, emotes, notifications, etc.) ๐Ÿ“ฑ
  • Challenge your friends to a duel! ๐Ÿคบ
  • Leaderboard with elo ๐Ÿ†
  • Compatibility with mobile devices ๐Ÿ“ฑ

โš™๏ธ Local installation

Requirements

  • Node.js 18+
  • Docker
  • Cordova (only if you want to run the mobile version)

Setup

For PC

  1. Clone the repository to your local machine.

    git clone https://github.com/PolytechNS/ps8-24-quanridor.git
    
  2. (Optional) Install the dependencies for development puroposes.

    npm install
    
  3. Build and run the backend using Docker.

    docker compose up -d
    
  4. Run the frontend by going to http://localhost:8000 in your browser.

  5. Play!

๐Ÿ’ก
NOTE

The only libraries required for the backend to work are mongodb, nodemon, socket.io, jsonwebtoken and bcrypt. There's also husky to enforce the use of prettier on every commit (and also for DevOps purposes)

For mobile

  1. Make sure you have Cordova correctly installed and configured (see Cordova's documentation).

  2. Run build-apk.py

  3. Run the app on your mobile device.

    cordova run android
    
  4. Play!

๐Ÿ’ก How to use

Create an account and play!

There is a mock account already created for you to test the game:

  • Username: admin
  • Password: admin

... ๐Ÿ‘€

๐Ÿ› Known issues

  • Nothing yet!

โœ๏ธ Authors