Préconisations pour une pwa

Bonjour,

Après quelques essais, je voudrais me lancer dans la réalisation d’une petite PWA pour m’exercer sérieusement (et pourquoi la commercialiser).
Je sais ce que je veux faire, mais étant novices, je ne suis pas sur des technos à utiliser et je compte sur vos expériences pour m’aiguiller dans mes choix.

Je voudrais donc développer une PWA pour répertorier les films et les séances des cinémas de ma ville.
En gros, un écran d’accueil, suivi d’un écran listant les séances des films avec différents critères de tri et d’affichage. En cliquant sur un film ont affiche sa fiche détaillée, et en cliquant sur un cinéma on affiche également une fiche détaillée.
Dans la fiche détaillée du film, j’aimerais qu’il soit possible de le noter et ultérieurement de réserver une place et de poster des commentaires.
Voila le concept simple, mais qui je crois mais en application des techniques dont je devrais avoir besoin régulièrement.

Pour cela, j’ai initialisé un projet PWA avec vue CLI 3 avec vue-router (pour la navigation entre les pages) et Vuex (mais je ne suis pas encore sur d’en avoir besoin, car j’avance pas à pas). pour le design, je pensais utiliser Vuetify (que je connais pas encore).

Pour la mise à jour des données, je pensais faire appel à un ou plusieurs fichiers JSON (liste des films, des cinémas, des séances, etc…) qui serait déposé sur le serveur.
Les images (affiche des films, …) seraient déposées soit aussi sur le serveur
Il y aura aussi des liens vers des trailers YouTube.
Il y aurait un fichier Json par semaine.

Mes questions sont les suivantes:

  • est ce que la solution du fichier JSON est bien, ou faut il mieux utiliser une BdD gérée par Laravel.
  • comment faire pour que l’application aille vérifier qu’un nouveau fichier a été déposé et qu’il faut le rapatrier (ainsi que les images ) pour que l’application fonctionne offline.
  • Comment gérer les fichiers Json en offline ?

Mon idée pour le 2° point est de créer un fichier periode.json qui contiendrait le nom d’un dossier contenant les fichiers Json (séances, films, cinéma (s’il y a des modifs) et les images des films.
A chaque lancement de l’appli, on essaye de se connecter, si oui, on lit le fichier periode.json et on compare le contenu avec celui stocké dans l’appli (comment ?). Si c’est différent, on remplace les données stockées dans l’appli par celles disponibles sur le serveur. Ainsi, à chaque appel de l’appli, on ne lance qu’une connexion systématiquement.

Que pensez vous de se fonctionnement ? Je suis entrain de réinventer la roue ?

Merci d’éclairer mon chemin.

Marco