Gestion d'adhérents Guidoline.
Forms
Dues
Members
Users
Guidoline
Ajouter une validation sur la valeur saisie pour la durée sur les formulaires de création de bulletins d'adhésions.
Ajouter un affichage du nombre de page (xx/xx) en haut à droite du tableau des les listes.
L'indication des adhérents actifs ou non (adhésion valide) est calculé lorsque le champ is_active
est sollicité (lors de l'affichage par exemple). Cf. Model_Members::get()
.
L'idéale serait une tâche CRON basé sur la date de péremption des adhésions qui déclencherais la mise à jour de la valeur de is_active
.
is_active
pourrait être mise à jour manuellement lorsque qu'un bulletin d'adhésions est désactivé. À placer dans Model_Form::update()
.
Deux fois par an nous devons faire une analyse statistique de nos fréquentations.
Nous avons besoins de savoir dans quel atelier les adhérents ont cotiser / ou habitent-ils / le genre de chacun et l'age.
Créer une interface de récupération de donnée à partir des factures ( Atelier Rouen - Atelier Sotteville etc...)
Ajouter des méthodes spécialisés de comptages suivants :
Model_Form::count_actives_members()
Model_Form::count_inactives_members()
Cela devrais diminuer la taille du cache pour ces données jointes.
Également, évaluer si l'on peut appliquer la même solution pour d'autres jointure e onction de l'affichage (par ex. Model_Member::dues()
ou 'on a besoin que du titre et et du lien).
Favoriser la compatibilités avec des "logiciels en tant que service" (SaaS).
Fonctionnalités :
Services visées :
Related :
La bascule de validation ne semble pas se faire correctement.
Un mécanisme de métas-données sur a table members
permettrais d'ouvrir des fonctionnalités intéressantes.
Par exemple :
Adhérents
, 'Membre du C.A.
, Secrétaire`, etc.) ;Nécessite une able supplémentaire au minimum members_metas
avec les clefs suivantes :
id
: Clef unique ;member_id
: Liaison vers une entrée members
;key
| slug
: Identifiant de la méta ;label
: Nom humainement lisible de la clef ;value
: Valeur de la métas.Le modèle de members_metas
peut être exploité pour ajouter des contraintes :
Integer
, Boolean
, String
, etc.) ;Exemples de clefs / valeurs :
key | label | value |
---|---|---|
status |
Status | Membre du C.A. |
link-strava |
Fiche Strava | https://www.strava.com/athletes/10726216 |
skill |
Compétence | Course en sac |
volunteer |
Bénévole | true |
Les noms de bulletins d'adhésions et des dates de fin ne s'affichent pas correctement sur les cotisations.
Sur les écrans :
Lorsque l'on saisie un tiret dans le champ de recherche, les résultat sont peu pertinents.
http://members.guidoline.com/adherents/
"jean-baptiste" et "jean baptiste" devrais être dans les résultat de recherche.
Vérifier dans la documentation https://www.mysql.com/fr/ si un paramètre de configuration existe.
Sinon, émuler le filtre dans le modèle de données.
Lors de l'ajout d'un adhérent, ajouter une jonction vers l'utilisateur courant (created_by
).
La même chose pourrais être faite pour la dernière modification (updated_by
).
Les icônes SVG ne s'affiche pas tous sur la dernière version de Chrome sur Windows.
Faire une mise en forme simple du pied de page.
Afficher le détail d'une fiche adhérent lors d'un clic de souris sur son nom.
Module d'affichages Bulma conseillé :
Certaines données ne devrais pas pourvoir être modifiées et/ou supprimées une fois qu'elles sont liées à d'autres.
Données concernées :
subscriptions
;members_subscriptions
(dues
) ;En complément (créer un ticket à part pour ça) : la table members_subscriptions
devrait clairement être considérée comme des factures (dues
) et enregistrer des "instantanées" (identités de la personne, nom et prix du produit).
Lors d'un recherche sur la liste des adhérents, la pagination ne conserve pas le terme rechercher.
Page adhérents , URL : /adherents/?rechercher=a
/adherents
;les termes recherchés devrait être maintenues.
Les termes sont recherchés sont perdues.
Inscrire la pagiation manuellement dans la barre d'adresse.
Par exemple /adherents/2?rechercher=a
Propager les termes recherchés dans les liens de navigation.
Soit explicitement, en indiquant un suffixe d'URL au module de pagination.
Soit implicitement, en permettant au module de pagination de scanner l'URL.
Afficher les adhérents par numéros d'adhérents sur la page d'index des adhérents.
Ajouter une vue permettant d'ajouter rapidement une cotisation.
Routes possibles :
members/<member_id>/forms/<form_id>/dues/edit
(format standard) ;members/<member_id>/forms/<form_id>/dues/add
(verbe d'action mieux adapté à une jointure) ;members/<member_id>/dues/edit?form_id=<form_id>
(format simplifié)Inspiration pour le design de route :
Pouvoir marquer / filtrer les adhérents par volontaire (bénévoles).
Une colonne de donnée est dédié à ce marquage, car celui-ci doit pouvoir être accessible sur les écrans d'agrégat (ex. index des adhérents). Contrairement à la première intention qui était de l'exploiter à travers une taxonomie cf. #3
Est-il possible d'exporter les emails bénévoles pour les importer au format csv dans notre liste de diffusion newsletter.
La page ne défile pas toujours en haut par défaut. Si bien que lors de la navigation, le contenu n'est visible qu'après un défilement.
Le défilement lors de la navigation devrais toujours conserver une bonne lisibilité.
Comportement idéale du scroll auto après injection de la page :
Au minimum : scroll vers le contenu (Ancre de la cible ou <main>
, <body>
par défaut).
Tenter : scroll en haut avant de scroll vers le contenu, comme la navigation / fonctionnalité des pages peuvent changer en fonction du contenu, cela permet de jeter un œil au contexte UI avant la lecture.
Cela devrais pouvoir se résoudre avec le ScrollBehavior
de Vue router.
Émettre un code status 40x
lors du logout
Sur le formulaire d'édition d'un adhérent, le champs de cotisation libre est présent mais la prise en compte du montant saisie n'est pas encore fonctionnel.
Certaines données saisies dans le logiciel devrais pouvoir se synchroniser avec Mailjet.
Veuillez décrire de façon claire et précise quel genre de problème vous rencontrez. Par exemple : Lorsque que je veux faire tel action je suis toujours contraint de …
Mettre en place un système de drivers, cela permettrais de conserver une application agnostique et donc de changer de services plus facilement.
L'idéale serait de permettre plusieurs service en parallèle. Par exemple lors de la mise à jour d'une information de contact, Mailet et une feuille Google sheet pourrait être mise à jour.
Faciliter l'export des données afin de faciliter la mise à jour des données (cf. #20, #19 ).
Les utilisateur ont tendance à mal remplir les champs ville (fautes de frappes, de syntaxe, etc.).
Un script d'auto-completion fermé (strict) sur toutes les villes obligeant l'utilisateur à choisir une ville plutôt que de la saisir.
Un script d'auto-complétion ouvert (libre), sur les villes de la région d'exercice de l'association ou de la France si le choix sur le monde est trop complexe.
Une solution sans code supplémentaire serait de former les utilisateur à remplir correctement ce champ, et/ou à avoir un opérateur qui corrige la saisie (à partir des codes postaux par exemple).
Aucun apprentissage et documentation à mettre en œuvre.
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.