Skip to content

Instantly share code, notes, and snippets.

@mducharme
Last active July 17, 2019 14:57
Show Gist options
  • Save mducharme/9978af611fae31f4e351773360b0643b to your computer and use it in GitHub Desktop.
Save mducharme/9978af611fae31f4e351773360b0643b to your computer and use it in GitHub Desktop.
Refactoring city-hub / agora

City-Hub => Agora refactoring

Backend

  • ACL par defaut dans l'admin.

  • Hub

    • Suppression des concepts de resources (maintenant catégories) et scenarios (overkill).
    • Ajout du concept de Person, en développement
      • Trois niveaux d'accès? (Anonymous, Person, User?)
    • Revoir design (fun, responsive) des emails de création de compte.
  • Services

    • Les services sont hierarchisés par catégorie.
      • C'est ce qui définit les menus frontends.
    • Chaque service à un type.
      • Les types définissent le metadata des options des services.
      • Les types déterminent le template (ident) frontend.
      • Les types ont des routes extra? Ou ce sont les services?
      • Est-ce que la source des types devraient etre database ou metadata/config json?
    • Les services ont un nom, un icone, une courte description et des options.
      • Les options devraient être validés selon les options du type (metadata).
      • Les services ont un URL et des méta-tags.
    • Tous les items du menu principal (frontend) sont maintenant un Service.
    • La page admin par défaut est le dashboard de services (cards).
  • Accueil

    • Nouvel objet `HomeDashboard.
    • Home dashboard est une collection de (home) widgets.
    • Chaque widget du home dashboard a un type.
      • Les types de home widgets déterminent le react widget/component à charger.
      • Les types de home widgets ont des options (metadata).
      • Les options du type des widgets décrivent le metadata des options de widget.
      • Il y a au moins 2 dashboards: 1 "anonyme" et 1 "connecté".
      • Todo: API des home dashboards et widgets.
      • Todo: comment créer un formulaire dynamique pour les options.
  • Engagement

    • Est-ce que les grands projets devraient être bougés dans leur propre module?
    • Est-ce que les idées deraient être bougées dans leur propre module?
  • General

    • Ajouter le concept d'adresse.
      • Pour les fonctionnalités memo.
      • Pour l'autocomplete du fomulaire de contact.
      • Pour l'autocomplete du formulaire d'inscription.
  • Memo

    • Remettre les graphiques stats pour les inscriptions (jadis users).
    • Revoir le menu admin.
    • Ajout de la fonctionnalité pour envoyé dans le future.
    • Visualiation des stats d'envois (emails, sms, voix) par alertes.
    • Export des stats d'envoi (emails, sms, voix)
    • Export des inscriptions.
    • Revoir les templates d'alerte.
    • Concept de status "en cours".
    • Revoir la page d'evoi / stats d'envoi admin.
    • Page admin sur info sur les apis SMS / voix / nombre de SMS restants etc.
  • Payment

    • Nouveau module pour paiement, en développement.
    • Stripe seulement pour l'instant.
    • Pour payer les permis animaux, pour Candiac, en première implémentation.
    • Garder en tête la possibilité (dans trois-ruisseaux...) de:
      • Payer l'inscription à un événement.
      • Payer une contravention.
      • Payer une réservation de salle/lieu.
      • etc.
  • Survey

    • Nouveux types de question
      • Champs libre
      • Map (position)
      • Choix multiple
      • Rating
      • Mood
      • etc.
    • Voir comment montrer les stats de chaque type (ou non, si impossible).
  • Waste

    • Concept de "AlertSubscription"
    • Merge la branche

    Frontend

    • Avoir une maquette sans éprouvette.
    • Tant qu'a refaire le design... est-ce qu'on garde antd.
    • Tant qu'a refaire le design... est-ce qu'on repart pas le frontend à neuf?
      • Basé sur locomotive react boilerplate.
      • Splitté en module from the start?
    • Schemas de couleur pré-établis / configurable.
    • Repartir à zéro pour enlever la complexité.
    • Réduction des states global pour redux
      • user (logged vs. anoymous)
      • lang
    • Le routeur a seulement les trucs de base (home, login, account, etc.) et un router dynamique avec les services
      • Les services gerent le template react, le URL (slug) et les options.
      • Chaque service peut avoir des routes supplementaires..?
        • Ou par type?
        • Ex: pour alert details, news details, project details, etc. Comment rendre dynamique?
    • Container vs. Widget vs. Component vs. View
    • Revu

API

  • Mettre swaggerhub à jour.
  • D'ou provient le menu?
  • Hub
    • Service
      • Meilleur API pour servir categories + services (ex: pour menu, footer, etc.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment