Contributions open-source au projet JHipster 2018
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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, ...) (avec ou sans Let's Encrypt).
- 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 de schema-based form generator component for Angular X pour la création et l'édition des entités https://github.com/makinacorpus/ngx-schema-form
- Ajout d'autres réseaux sociaux (Linkedin, Github, ...)
- Ajout de composants de paiement (Paypal, Cartes de crédit, [1] ...)
- Ajout de Telegraf, Hawkular aux dockerfiles générés des containers.
- Ajout d'un dockerfile pour Grafana configuré pour Prometheus 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).