pa-plasma / annual-project Goto Github PK
View Code? Open in Web Editor NEWPlasma is an Online Tournament Organizer develop with Symfony
Home Page: http://p-plasma.herokuapp.com/
Plasma is an Online Tournament Organizer develop with Symfony
Home Page: http://p-plasma.herokuapp.com/
un utilisateur doit pouvoir s'inscrire de lui meme aux événement public
Lorsque que l'utilisateur s'inscrit, on a une nouvelle entrée dans la table Entrant
Il doit aussi pouvoir se désinscrire -> le bouton "inscription" devient "se désinscrire"
Ajout d'un filtre twig pour restreindre l'affichage des boutons d'édition des event
Si y'a un bouton, tout le monde peut le voir
Ajout d'un filtre twig qui check si l'utilisateur courant peut éditer l'event
Custom twig filter Symfony Doc
Nom du filtre : canEdit
Utilisation : {{ user|canEdit(event OU address OU entrant) }}
La fonction :
public function isEventAdmin($user, $entity)
{
Fonctionnement du filtre : if roles contain 'ROLE_ADMIN'
OU if $entity->getCreatedBy == user->getId
Personnaliser les pages d'erreur
Pas de personnalisation : access denied, 404 très moches 👎
Personnalisation des erreurs
Ajout des traits et des slugs pour les entités
Il y a certains traits et les slugs sur l'entité user
Ajouter traits sur les entité restantes ainsi que le system de slug
Cela permettrait de mettre à jour la template templates/page/operations.html.twig
afin de passer le slug en paramètre et ainsi ne plus avoir de problèmes :
<a href="{{ path(routeSuffix ~ '_show', {'id': entity.slug}) }}">
au lieu de
<a href="{{ path(routeSuffix ~ '_show', {'id': entity.id}) }}">
cela empêche pour l'instant de naviguer dans le crud de l'entité User car elle, attend des slug
Création du module equipe qui permet de réunir les entrants d'un événement en équipe
Création du design des composants du site. Atomic Design
Placer les éléments sur des zoning si possible ce qui donnera quasiment des maquettes mais sans les éléments superflus.
Réaliser les composants suivants :
Réaliser les zoning des pages importantes
1ère proposition 17/01
Il faudrait pouvoir inscrire des joueurs à un event sans que ces derniers soient inscrits sur le site
et si on choisi un utilisateur inscrit, remplir automatiquement le champs pseudo
Il y a une inscription avec juste un collectionType
rendre le champs user_related invisible si on a coché une case avec une valeur vide
ajax qui permet de remplir le champs "pseudo" avec le nom de l'utilisateur
Ajout des controllers de base
Il n'y a aucun controller
Ajout des controllers :
L'ajout des controllers d'event devront attendre la création de l'entitée Event
//
Il y a cette erreur :
Neither the property "entrants" nor one of the methods "entrants()", "getentrants()"/"isentrants()"/"hasentrants()" or "__call()" exist and have public access in class "Symfony\Component\Form\FormView".
sur la route /back/event/new
Il faut faire une différenciation entre le form type front et back
Permet aux participants de communiquer entre eux
On a besoin de lister les modules disponibles
Les modules pourrait être listés dans une table par exemple
Dans la création d'event on pourrait avoir un switch case en fonction de la selection de l'utilisateur et les actions à accomplir
Il faudrait ajouter la connexion et l'inscription au site
Il n'y en a pas
Ajout d'un thème bootstrap au projet
Il n'y en a aucun
Répertorie et affiche la liste des événements :
/
/
Permet de laisser des commentaires sur l'evenement
Ajouter la connexion automatique lors de la création d'un compte
Il y a la connexion mais dès qu'on s'enregistre ça nous redirige juste vers la page de login
Être connecté et être redirigé vers le profil utilisateur une fois qu'on s'est inscrit
Voir le Login authentificator guard de symfony
Edit, display
Le paramétrage fonctionne, mais il manque des infos
Commandes possibles :
Pas de commandes
Nouvelles commandes
On doit pouvoir ajouter directement des utilisateurs à l'evenement
Ajout d'un input qui permet de rechercher un utilisateur via un autocomplete dans le form event
il faut ajouter cette librairie dans le projet
require('iziToast')
dans assets/js/app.js
Ajout des voters pour gérer les permissions
Pas de gestion des permissions précise
Création d'un voter pour restreindre l'accès à certaines routes
Créer un filtre sur la liste des événements
Call ajax lors du clic sur "filtrer"
filtre sur le nom de l'event
-> nouvelle fonction dans le EventRepository et dans App\Controller\Ajax\EventController
Ajout d'un filtre twig utilisant iziToast
améliorer le rendu des messages lors de la réalisation d'une action
ajout d'une fonction ajoutant le filtre twig izitoast
Il faudrait qu'on ait un template qui permette la mise en forme globale de modules
Création d'un template templates/Modules/modules_base.html.twig
que chaque modules irait extend avec un bloc qui permet d'accueillir le contenu du module
Création des entités liées aux events et génération des forms
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.