Refactoring de l'interface : migration d'un monolithe HTMx vers un client Nuxt + serveur Axum #66

Merged
florian_briand merged 10 commits from feat/65_move_out_htmx_with_axum_backend_and_nuxt_frontend into main 2024-09-24 12:53:14 +02:00

Détails

Implémentation des réflexions menées dans #65 :

  • Suppression de la crate app, qui était un serveur axum exposant du HTMx, embedded dans le Tauri de la crate desktop
  • Création d'un module Typescript, frontend, basé sur NuxtJS et générant une application statique
  • Ré-écriture complète de la crate desktop pour encapsuler l'application statique générée par frontend
  • Création d'une crate backend, serveur axum ayant pour objectif de servir de backend à l'interface, en particulier pour centraliser les accès à une base de donnée unique

Petits détails d'implémentation

  • J'ai ré-utilisé TailwindCSS, mais au travers du module Nuxt dédié ; la génération est donc propre et automatisée, sans même nécessiter de configuration
  • J'ai rajouté une "surcouche" à Tailwind, DaisyUI plutôt que de re-partir sur Flowbite ; ça fournit un ensemble de composants, mais de manière moins intrusive et "opinionated"

Pourquoi ?

cf #65

Documentation

### Détails Implémentation des réflexions menées dans #65 : - Suppression de la crate `app`, qui était un serveur axum exposant du HTMx, embedded dans le Tauri de la crate `desktop` - Création d'un module Typescript, `frontend`, basé sur NuxtJS et générant une application statique - Ré-écriture complète de la crate `desktop` pour encapsuler l'application statique générée par `frontend` - Création d'une crate `backend`, serveur axum ayant pour objectif de servir de backend à l'interface, en particulier pour centraliser les accès à une base de donnée unique ## Petits détails d'implémentation - J'ai ré-utilisé TailwindCSS, mais au travers du module Nuxt dédié ; la génération est donc propre et automatisée, sans même nécessiter de configuration - J'ai rajouté une "surcouche" à Tailwind, DaisyUI plutôt que de re-partir sur Flowbite ; ça fournit un ensemble de composants, mais de manière moins intrusive et "opinionated" ### Pourquoi ? cf #65 ### Documentation - [Nuxt](https://nuxt.com/) - [DaisyUI](https://daisyui.com/) - [@nuxtjs/tailwindcss](https://tailwindcss.nuxtjs.org/)
florian_briand added this to the 0 - POC milestone 2024-09-23 19:06:34 +02:00
florian_briand added the
enhancement
label 2024-09-23 19:06:34 +02:00
florian_briand self-assigned this 2024-09-23 19:06:34 +02:00
florian_briand added 10 commits 2024-09-23 19:06:34 +02:00
florian_briand changed title from feat/65_move_out_htmx_with_axum_backend_and_nuxt_frontend to Refactoring de l'interface : migration d'un monolithe HTMx vers un client Nuxt + serveur Axum 2024-09-23 19:09:58 +02:00
florian_briand added the
module/desktop
module/frontend
labels 2024-09-24 01:19:40 +02:00
florian_briand added spent time 2024-09-24 01:22:31 +02:00
5 hours 30 minutes
florian_briand deleted spent time 2024-09-24 01:25:23 +02:00
- 5 hours 30 minutes
florian_briand added spent time 2024-09-24 01:25:31 +02:00
5 hours 16 minutes
kosssi approved these changes 2024-09-24 10:30:25 +02:00
kosssi left a comment
Owner

Trop bien de voir du code simple pour la partie frontend

Trop bien de voir du code simple pour la partie frontend
@ -0,0 +13,4 @@
"@nuxtjs/color-mode": "^3.5.1",
"daisyui": "^4.12.10",
"nuxt": "^3.13.0",
"vue": "latest",
Owner

faudrait surement mettre les version sur vue et vue-router plutôt que latest

faudrait surement mettre les version sur vue et vue-router plutôt que latest
Author
Owner

Je n'ai rien trouvé à ce sujet dans la documentation. J'ai posé la question : https://github.com/nuxt/nuxt/discussions/29137

Je n'ai rien trouvé à ce sujet dans la documentation. J'ai posé la question : https://github.com/nuxt/nuxt/discussions/29137
florian_briand merged commit b94dd55418 into main 2024-09-24 12:53:14 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Total Time Spent: 5 hours 16 minutes
florian_briand
5 hours 16 minutes
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: P4Pillon/Krys4lide#66
No description provided.