Giter VIP home page Giter VIP logo

project-php's Introduction

project-php

1- create and import database:

2- create app.local.php file in configs folder:

<?php

return [
    'APP_ENV'=> 'dev',
    'DB_HOST' => '',
    'DB_NAME' => '',
    'DB_USER' => '',
    'DB_PASSWORD' => '',
    'HOSTNAME' =>'localhost:8080'//for creating game URL in websocket server
];

3- run commands:

php Server.php
php -S localhost:8080 (same as HOSTNAME) -t public

Technologies utilisées :

  • PHP
  • Javascript
  • Twig
  • Less
  • Ratchet (WebSockets)
  • PHPMailer
  • Composer
  • MicroFramework

Bilan :

** Toute la partie administrateur fonctionne : ** Ajout, modification, suppression d'une question, de ses réponses, et des utilisateurs

Création d'une partie, ajout des joueurs ainsi que leur couleur
Création d'un lien vers une partie
Envoi du mail chez les joueurs
Salon de jeu dynamique

Manuel d'installation :

Pour lancer le serveur : Mac / Linux : php Server.php Windows : php .\Server.php

Voici les identifiants pour se connecter en tant qu'admin : username : AudHep
psw : aqwzsx

L'administrateur a accès à la partie admin en cliquant sur son pseudo, puis "admin".
Il choisit sur quelle page il souhaite se rediriger.
Le panneau latéral permet de naviguer facilement entre les sections.
Le bouton + en haut à droite permet d'ajouter un élément.
Les opérations permettent de modifier ou supprimer un élément.
On ne peut pas rentrer n'importe quelle valeur dans un input.
Pour l'ajout d'une question, on l'ajoute normalement comme un utilisateur. Pour ajouter ses réponses, on clique sur le bouton + en face de son label dans le tableau.
On accède aux réponses en cliquant sur "Voir les réponses".

Ensuite, qu'on soit connecté en tant qu'user ou admin, on peut modifier ses identifiants, mdp... en cliquant sur son pseudo, puis profil.

Un user ne peut pas accéder à la partie admin.

Création d'une partie

Tout utilisateur peut créer ne partie en cliquant sur jouer.
Il nécessite un compte pour jouer. C'est pourquoi si l'utilisateur n'est pas connecté, il est redirigé vers la page de connection pour y renseigner ses identfiants, ou pour s'inscrire.
Lorsqu'il est connecté et qu'il a cliqué sur "Jouer". Il est redirigé vers la page de création de jeu. Il y renseigne le pseudo des joueurs. Il est aidé par l'autocomplétion. Il donne à chaque joueur une couleur (qui n'est utilisable que par 1 joueur).
La partie va de 2 à 6 joueurs.
Il peut ensuite cliquer sur créer. Cela enverra un mail à chaque utilisateur qu'il a reneigné en créant la partie.
Nous avons crée une @mail seulement pour l'utilisateur Gabin ([email protected]), l'URL sera affiché en dans la console Le mail contient en partie le lien de la partie.

Partie

Lorsque les joueurs ont cliqués sur le lien qu'ils ont reçus par mail, il arrivent dans la partie.
La page se met à jour sans se rafraîchir grâce à Ratchet.
Seul le joueur à qui c'est le tour peut joueur. Il clique sur le bouton jouer.
Un modal avec les niveaux apparaît sur tous les écrans. Il choisit son niveau et répond à la question.
Toute l'interaction avec la question se passe directement sur le modal. Il affiche ensuite si la réponse choisie est bonne ou mauvaise.
Dans tous les cas, le Modal disparait automatiquement 3 secondes après avoir répondu, et c'est le tour du joueur suivant. Le pion du joueur avance ou recule si la question est bonne ou mauvaise.

Ne fonctionne pas:

  • Fonction gagnant
  • Peut afficher plusieurs fois la même question
  • Ne supprime pas les usernames dans l'autocomplétion de la création d'une partie(double input event apres l'ajout d'un nouveau champs username)
  • Seulement un QCM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.