Contributions open-source au projet JHipster: Difference between revisions
Jump to navigation
Jump to search
Line 35: | Line 35: | ||
* Clear-Site-Data Header pour le logout (https://www.baeldung.com/spring-security-clear-site-data-header) |
* Clear-Site-Data Header pour le logout (https://www.baeldung.com/spring-security-clear-site-data-header) |
||
* Intégration de Spring Data [[Apache Ignite]] (voir https://www.baeldung.com/apache-ignite-spring-data) |
* Intégration de Spring Data [[Apache Ignite]] (voir https://www.baeldung.com/apache-ignite-spring-data) |
||
* Démonstration d'un Q/A live en mode Chat (voir pubble.io). |
|||
==Priorité 3== |
==Priorité 3== |
Revision as of 06:29, 3 April 2020
Encadrant : Didier Donsez.
Ce projet propose de développer plusieurs contributions au projet open-source JHipster
Dépôt Github : https://github.com/contribution-jhipster-uga
Liste priorisée
Priorité 1
- Intégration de FullCalendar (voir l'application Motorsport Database et l'intégration dans PrimeNG)
- Intégration de iCal4J au générateur FullCalendar
- Ajout du SEO (JSON-LD) voir et voir
- Ajout de l'indexation full-text dans les types Blob avec Apache Tika en fonction de leur content-type
- Optimisation des transferts d'images de type ImageBlob (caching client, etag, vignette)
- Ajout de l'indexation full-text par OCR dans les types ImageBlob avec Tesseract OCR (voir Tess4J)
- Ajout de la détection d'objets dans les types ImageBlob avec ImageAI
- Amélioration du générateur de chatbot Rasa.io (en relation avec l'indexation full text)
- Intégration d'un "tour" : candidats JOYRIDE, TOUR, ...
Priorité 2
- Terminaison du générateur Angular Material
- Bloquage des authentifications répétées en échec (brute force) avec un container Fail2ban. ([1]
- Composant de dessin pour les champs de type ImageBlob
- Composant de SignaturePad pour les champs de type ImageBlob :
- Amélioration du plugin Leaflet avec Leaflet Draw http://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html
- Ajout d'un composant d'édition Rich Text (comme TinyMCE ou http://textangular.com/) pour l'édition et l'affichage de TextBlob d'une entité.
- Amélioration du générateur de chatbot Rasa.io (en relation avec l'indexation full text)
- Intégration d'un module Discord.
- Intégration de Postman pour les tests des endpoints de l'API
- Intégration de charts (ngx-charts) dans les entités (coté frontend et coté backend entry point /api/entity_name/chart)
- Clear-Site-Data Header pour le logout (https://www.baeldung.com/spring-security-clear-site-data-header)
- Intégration de Spring Data Apache Ignite (voir https://www.baeldung.com/apache-ignite-spring-data)
- Démonstration d'un Q/A live en mode Chat (voir pubble.io).
Priorité 3
- Ajout de Weavescope
- Ajout des types enums dans Liquibase
- Renforcement du typage des enums SQL (avec liquibase) voir
- Intégration du protocole pub-sub MQTT (avec/sans TLS). Ajout du docker-compose file pour Mosquitto ou RabbitMQ
- Intégration du protocole pub-sub AMQP.
- Intégration d'un "tour" : candidats JOYRIDE, TOUR, ...
- Bloquage des authentifications répétées en échec (brute force) avec un container Fail2ban. ([2]
- Banissement des adresses IP au moyen de FreeGeoIP ([3])
- Générateur d'un backend ou d'un microservice en Elixir (utilisation de Phoenix Swagger) pour l'API.
- Génération des quatre composants d'entités avec FuelUI http://fuelinteractive.github.io/fuel-ui/
- Ajout de Knative à l'extension Kubernetes
- Ajout d'Istio
- Ajout d'une [Non Blocking State Machine|https://dzone.com/articles/drafta-non-blocking-state-machine] sur une entité possédant un champs Enum (correspondant à l'état de la machine : pensez à ajouter des dates pour chaque changement d'état).
- Intégration de React Admin https://github.com/marmelab/react-admin
- Ajout Monkey for Spring Boot Microservices
Liste non exhaustive et non priorisée
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 à puiser dans https://github.com/jhipster/generator-jhipster/issues
- Génération de classes pour commandes shell pour inspecter/modifier les entités (générées).
- Intégration authentification CAS
- Ajout d'un ClusteredFileStorage pour les stockage des images côté backend.
- Synchronisation du FileStorage avec des Drives cloud (OwnCloud, Google Drive, Dropbox, OneDrive, ...)
- Traduction automatique des messages i18n ?
- Traduction automatique des valeurs des champs texte des entités
- Ajout de nouveaux backends BD
- Intégration Push API (lien)
- Amélioration du client Swagger UI (OpenAPI2.0 et OpenAPI3.0)
- Multi-thèmes Dashboard
- Gestion de Content Delivery Network type AWS S3.
- Intégration du protocole pub-sub MQTT. Ajout du docker-compose file pour Mosquitto ou RabbitMQ
- Intégration du protocole pub-sub AMQP.
- 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 d'un container Vitess à JHipster (JPARepository)
- Ajout d'un container Memcached à JHipster
- Intégration de Intel Clear Containers
- 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)
- Authentification FIDO (https://github.com/Mastercard/fido2-rp-spring)
- Descripteurs docker-compose et k8s pour les distributions clusterisées de:
- Kafka
- RabbitMQ
- MySQL https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/
- Postgres
- MongoDB
- Cassandra
- Keycloak theming (voir)
Des applications de démo simple seront proposées en exemple pour chaque extension.
Equipe et rôles
- LATTARD Alexis : Chef de projet
- SOLVERY Tom : Scrum master
- CHASSEGUET Corentin : Développeur
- SALA Ergi : Développeur
- ARNOUX Thibaut : Développeur
- LORDEY Maxime : Développeur