Table of Contents
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
Clone the repository to your local machine.
(Optional) Install the dependencies for development puroposes.
Build and run the backend using Docker.
Run the frontend by going to http://localhost:8000 in your browser.
Play!
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
Make sure you have Cordova correctly installed and configured (see Cordova's documentation).
Run
build-apk.py
Run the app on your mobile device.
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
- Marc Pinet - Initial work - marcpinet
- Arthur Rodriguez - Initial work - rodriguezarthur
- Marcus Aas Jensen - Initial work - marcusaasjensen
- Loris Drid - Initial work - lorisdrid