spin-un Svelte Themes

Spin Un

Spin'Un! - A web version of Uno Spin, built as our final-year bachelor’s project. Powered by Svelte for the frontend, JavaScript for game logic, TypeScript for the server, Electron for the desktop app, and MariaDB for the database. Easy to run locally or deploy with Docker!

Spin'Un! - Projet Intégrateur 2A

Ce projet est réalisé dans le cadre de notre fin de licence en 3ème année, Semestre 6.

Spin'Un! est inspiré du mode de jeu "Uno Spin"

Installation

Nous avons mis en place deux manières d'installer ce mode de jeu sur votre machine!

  • Classiquement: Moins simple à mettre en place qu'avec Docker Compose. Cependant c'est cette méthode qui est utilisé dans le cadre du développement pour des raisons pratique.
  • Docker Compose: Simple à mettre en place. Docker lance chaque programme dans des conteneurs afin d'avoir le même comportement indépendamment de la machine. Cette méthode est notamment utilisé lors de mise en production.

Classiquement

=> Dépendances

  • NodeJS et NPM sont requis (NodeJS contient NPM)

  • MariaDB est aussi requis

=> Serveur Web

Depuis la racine du dossier, commencez par rentrer dans le dossier client

cd client

Ensuite, Installation des dépendances avec NodeJS:

npm install

À ne pas négliger, les variables d'environnements sont nécessaire au fonctionnement du client, les valeurs par défaut se situe dans .env.localhost. Il est recommandé de recopier les valeurs par défauts comme ceci:

cp .env.localhost .env

Une fois les dépendances installé, trois choix s'offre à vous:

  • Soit, lancer uniquement le serveur Web:
npm run dev:vite
  • Soit, lancer le serveur Web ET le client Electron:
npm run dev

PS: Si vous fermez le client Electron, le serveur Web se fermera à son tour.

  • Soit, compiler une version lourde du client Electron:
npm run make

PS: L'executable se trouvera à l'emplacement:

./client/out/make/squirrel.windows/x64/vite-svelte-electron-tailwind-0.0.0 Setup.exe

=> Serveur de Jeu

Depuis la racine du dossier, commencez par rentrer dans le dossier server

cd server

Installation des dépendances:

npm install

À ne pas négliger, les variables d'environnements sont nécessaire au fonctionnement du serveur, les valeurs par défaut se situe dans .env.localhost. Il est recommandé de recopier les valeurs par défauts comme ceci:

cp .env.localhost .env

IMPORTANT: la variable DATABASE_URL permet de se connecter à une base de données MariaDB. Ses valeurs par défaut sont donc à but indicatif, il est donc nécessaire de mettre ceux de votre base de données MariaDB ou MySQL:

DATABASE_URL="mysql://root:${MYSQL_ROOT_PASSWORD}@${MYSQL_IP}:${MYSQL_PORT}/${MYSQL_DATABASE}"

PS: MariaDB est aussi disponible en téléchargement ici

Migration de la base de données MariaDB (avec Prisma):

npm run migrate

La migration n'échoue que lorsque DATABASE_URL est incorrecte. (Exemple: base de données non existante)

Et finalement, le lancement du serveur de jeu:

npm run start

Rendez vous dans la section "Liens Utiles" pour maintenant jouer!

Docker Compose

=> Dépendances:

=> Lancement:

À ne pas négliger, les variables d'environnements sont nécessaire au fonctionnement de docker compose, les valeurs par défaut se situe à la racine dans .env.docker-compose. Il est recommandé de recopier les valeurs par défauts comme ceci:

cp .env.docker-compose .env

Ensuite, pour lancer le jeu:

docker compose up -d

Et c'est déjà fini, oui =)

Liens Utiles

=> Pour accéder à Spin'Un!

Liens du Serveur Web: http://localhost:10000/

Contribution

Nous étions 10 à travailler sur ce projet, voici la liste des membres par ordre Alphabétique:

  • Acher
  • Baris
  • Gabriel
  • Hadi
  • Ilyass
  • Loïc
  • Nader
  • Samuel
  • Sebastien
  • Thayssa

Bon jeu! \o/

Amusez vous bien sur Spin'Un!!

Top categories

Loading Svelte Themes