Contributions open-source au projet JHipster: Difference between revisions

From air
Jump to navigation Jump to search
No edit summary
No edit summary
Line 31: Line 31:
* amélioration du volet [[Swagger]] ([[OpenAPI]]2.0 et [[OpenAPI]]3.0)
* amélioration du volet [[Swagger]] ([[OpenAPI]]2.0 et [[OpenAPI]]3.0)
** Annotations supplémentaires
** Annotations supplémentaires
* Multi-thèmes Dashboard (SBAdmin 2, Gentella, ...)
* Multi-thèmes Dashboard
** SBAdmin 2
** Gentella
** Ngx-Admin ([https://github.com/akveo/ngx-admin/blob/master/README.md lien]), Nebulla ([https://akveo.github.io/nebular/#/docs/installation/add-into-existing-project lien])
* Intégration d'un backend [[CMS]].
* Intégration d'un backend [[CMS]].
* Gestion de [[Content Delivery Network]].
* Gestion de [[Content Delivery Network]].

Revision as of 07:10, 11 November 2017

Encadrant : Didier Donsez.

Ce projet propose de développer plusieurs contributions au projet open-source JHipster

Liste non exhaustive et non priorisée des extensions (au générateur et à JDL) à développer et à contribuer

  • Bug fixes à puisser dans https://github.com/jhipster/generator-jhipster/issues
  • Clé primaire applicative (par défaut, le générateur d'entité génère un champ Id qui est la clé primaire)
  • intégration de nouveaux types de données et des composants Angular 4 idoines
  • Ajout de nouveaux backends BD
  • Composants d'UI pour les champs : badges pour les types boolean et enum, toogle-slide pour les checkboxs, angular-material, Leaflet, charts (statiques, temps réel) ...)
  • readonly fields
  • final fields : (certains champs ne doivent plus être modifiables après l'instanciation du bean).
  • field visibility (public, group, private) : (certains champs doivent être visibles soit de tous les utilisateurs, soit de tous les utilisateurs authentifiés, des utilisateurs appartenant à un groupe ou bien seulement de l'utilisateur (ie créateur).
  • Ajout des champs createdBy, lastModifiedBy, createrAt, lastModifiedAt (voir l'entité User) à une entité générée.
  • QueryService
  • userId fields
  • extra user-profile
    • Adresses
    • Réseaux sociaux
    • Sports
    • Forme (ie pour le sport)
    • ...
  • amélioration du volet Swagger (OpenAPI2.0 et OpenAPI3.0)
    • Annotations supplémentaires
  • Multi-thèmes Dashboard
    • SBAdmin 2
    • Gentella
    • Ngx-Admin (lien), Nebulla (lien)
  • Intégration d'un backend CMS.
  • Gestion de Content Delivery Network.
  • Intégration du protocole pub-sub MQTT.
  • Intégration du protocole pub-sub AMQP.
  • gestionnaire centralisé des Users et de leurs profiles (pour plusieurs microservices)
  • gestion du RateLimit (IP origin, GeoIPing, per user) par type d'opération (GET, PUT, POST, DELETE).
  • Génération du Dockerfile pour les instances de container pour HAProxy (gestion de SSL-Termination, DDoS, ...).
  • Génération du Dockerfile pour les instances de container pour Nginx.
  • Gestion de quota sur les créations d'entité.
  • Intégration de chatbots
  • Intégration de la traduction automatique des messages et des contenus des champs texte
  • Ajout de l'import en bulk d'un entity (voir Spring Batch) par upload de fichiers CSV/XLS (génération du backend et du frontend).
  • Ajout de Captcha à la création de compte, au login, ... (ReCaptcha, ...)
  • ...
  • Ajout d'autres réseaux sociaux (Linkedin, Github, ...)
  • Ajout de composants de paiement (Paypal, Cartes de crédit, ...)
  • Ajout de Telegraf, Hawkular aux dockerfiles générés des containers.
  • Ajout d'un dockerfile pour Grafana configuré avec un dashboard taillé pour JHipster et les entités générées.
  • Intégration de Mockito
  • Intégration Websocket (lien)
  • Génération des fonctions pour un backend OpenWhisk (containers Docker) ou pour IBM Bluemix OpenWhisk.
  • Génération du backend pour Play : voir le code généré par Swagger Codegen pour Play et https://github.com/peterszatmary/learning-play-framework/wiki/Mysql,-JPA-and-Play!. , https://github.com/playframework/play-java-rest-api-example
  • Intégration (sécurisée) de l'API Health Check http://microservices.io/patterns/observability/health-check-api.html
  • Ajout de HATEOS (exemple)
  • Ajout de Apache Phoenix à JHipster (JPARepository for Phoenix)
  • Ajout de Vitess à JHipster (JPARepository)
  • Ajout de Memcached à JHipster
  • Bloquage des authentifications répétées en échec (brute force) avec Fail2ban. (lien
  • Banissement des adresses IP au moyen de FreeGeoIP (Dockerfile)
  • Intégration de ElastAlert
  • Intégration de Intel Clear Containers
  • Intégration de Tags "user-defined" sur des entités (ajout/retrait/recherche par groupe de tags, liste de tags par défaut).


Une application de démo sera proposée en exemple. Par exemple, un gestionnaire de course sportive (voir groupe UltraTeam).