Difference between revisions of "Contributions open-source au projet JHipster"
Jump to navigation
Jump to search
Line 38: | Line 38: | ||
* Intégration d'un backend [[CMS]]. |
* Intégration d'un backend [[CMS]]. |
||
* Gestion de [[Content Delivery Network]]. |
* Gestion de [[Content Delivery Network]]. |
||
− | * Intégration du protocole pub-sub [[MQTT]]. |
+ | * Intégration du protocole pub-sub [[MQTT]]. Ajout du docker-compose file pour [[Mosquitto]] |
− | * Intégration du protocole pub-sub [[AMQP]]. |
+ | * Intégration du protocole pub-sub [[AMQP]]. Ajout du docker-compose file pour [[RabbitMQ]] et pour [[JoramMQ]]. |
* gestionnaire centralisé des Users et de leurs profiles (pour plusieurs microservices) |
* 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). |
* gestion du RateLimit (IP origin, GeoIPing, per user) par type d'opération (GET, PUT, POST, DELETE). |
||
Line 52: | Line 52: | ||
* ... |
* ... |
||
* Ajout d'autres réseaux sociaux (Linkedin, Github, ...) |
* Ajout d'autres réseaux sociaux (Linkedin, Github, ...) |
||
− | * Ajout de composants de paiement (Paypal, Cartes de crédit, ...) |
+ | * Ajout de composants de paiement (Paypal, Cartes de crédit, Swipe ...) |
* Ajout de [[Telegraf]], [[Hawkular]] aux dockerfiles générés des containers. |
* Ajout de [[Telegraf]], [[Hawkular]] aux dockerfiles générés des containers. |
||
** Voir http://www.hawkular.org/blog/2017/06/9/opentracing-spring-boot.html |
** Voir http://www.hawkular.org/blog/2017/06/9/opentracing-spring-boot.html |
||
Line 62: | Line 62: | ||
* Intégration (sécurisée) de l'API Health Check http://microservices.io/patterns/observability/health-check-api.html |
* Intégration (sécurisée) de l'API Health Check http://microservices.io/patterns/observability/health-check-api.html |
||
* Ajout de HATEOS ([https://dzone.com/articles/creating-a-rest-api-with-java-and-spring exemple]) |
* Ajout de HATEOS ([https://dzone.com/articles/creating-a-rest-api-with-java-and-spring exemple]) |
||
− | * Ajout |
+ | * Ajout d'un container [[Apache Phoenix]] à JHipster ([https://phoenix.apache.org/phoenix_orm.html JPARepository for Phoenix]) |
− | * Ajout |
+ | * Ajout d'un container [[Vitess]] à JHipster (JPARepository) |
− | * Ajout |
+ | * Ajout d'un container [[Memcached]] à JHipster |
* Bloquage des authentifications répétées en échec (brute force) avec [[Fail2ban]]. ([https://www.google.fr/search?client=firefox-b&dcr=0q=fail2ban+spring lien] |
* Bloquage des authentifications répétées en échec (brute force) avec [[Fail2ban]]. ([https://www.google.fr/search?client=firefox-b&dcr=0q=fail2ban+spring lien] |
||
* Banissement des adresses IP au moyen de [https://freegeoip.net FreeGeoIP] ([https://hub.docker.com/r/fiorix/freegeoip/~/dockerfile/ Dockerfile]) |
* Banissement des adresses IP au moyen de [https://freegeoip.net FreeGeoIP] ([https://hub.docker.com/r/fiorix/freegeoip/~/dockerfile/ Dockerfile]) |
||
Line 76: | Line 76: | ||
** [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Google Anthenticator] |
** [https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Google Anthenticator] |
||
** [http://www.baeldung.com/spring-security-two-factor-authentication-with-soft-token 2Factor Authentication] |
** [http://www.baeldung.com/spring-security-two-factor-authentication-with-soft-token 2Factor Authentication] |
||
+ | * Ajouter une confirmation textuelle pour la suppression d'une entité (exemple, le nom de l'entité, une phrase type, ...). Remarque: il faut conserver de forcer la destruction en utilisation ligne de commandes ("force"=true) |
||
Une application de démo sera proposée en exemple. Par exemple, un gestionnaire de course sportive (voir groupe [[UltraTeam]]). |
Une application de démo sera proposée en exemple. Par exemple, un gestionnaire de course sportive (voir groupe [[UltraTeam]]). |
Revision as of 10:32, 21 June 2018
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 auprès de la communauté (via le marketplace).
- 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
- geoloc, altitude
- Séries temporelles TSBD
- Graphes (http://projects.spring.io/spring-data-neo4j/)
- Images (stockage File System, stockage BLOB du backend BD, stockage CDN, ...).
- ...
- Ajout de nouveaux backends BD
- OpenTSDB, InfluxDB
- DBaaS (InfluxData, OVH Metrics) ...
- Graphes (http://projects.spring.io/spring-data-neo4j/)
- 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
- Géneration d'un frontend Apache Cordova (incluant une Leaflet pour les Entity ayant des types "Position").
- Multi-thèmes Dashboard
- Intégration d'un backend CMS.
- Gestion de Content Delivery Network.
- Intégration du protocole pub-sub MQTT. Ajout du docker-compose file pour Mosquitto
- Intégration du protocole pub-sub AMQP. Ajout du docker-compose file pour RabbitMQ et pour JoramMQ.
- 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 open-source (Rasa.ai par exemple) ou commerciaux.
- 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, Swipe ...)
- 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 d'un container Apache Phoenix à JHipster (JPARepository for Phoenix)
- Ajout d'un container Vitess à JHipster (JPARepository)
- Ajout d'un container 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).
- Intégration des API Slack. Faire une petite démo.
- Ajout de test avec Spock (lien)
- Authentification par One-Time Password
- Ajouter une confirmation textuelle pour la suppression d'une entité (exemple, le nom de l'entité, une phrase type, ...). Remarque: il faut conserver de forcer la destruction en utilisation ligne de commandes ("force"=true)
Une application de démo sera proposée en exemple. Par exemple, un gestionnaire de course sportive (voir groupe UltraTeam).