J'ai remplacé la base de données de mon application par un dossier Google Drive
Je voulais suivre les progrès musicaux de ma fille. Elle reçoit chaque semaine des clips audio et des notes de son professeur. Je voulais pouvoir écouter ses sessions d'entraînement au fil du temps. Je ne voulais pas que les nouveaux enregistrements écrasent les anciens.
J'ai conçu une application pour résoudre ce problème. Elle n'a pas de backend. Elle n'a pas de base de données. Elle ne coûte rien.
La plupart des développeurs négligent une fonctionnalité de Google Drive : l'historique des révisions.
Lorsque vous téléchargez une nouvelle version d'un fichier portant le même nom et le même ID, Drive conserve l'ancienne version. Elle reste horodatée et consultable.
Au lieu de construire une base de données complexe avec des tables et des clés étrangères, je me contente d'écraser le fichier. Drive gère le versionnage. Mon application utilise deux appels API pour afficher l'historique. Je n'ai écrit aucune logique de versionnage.
La structure des dossiers fait office de schéma de base de données :
• Chaque chanson possède son propre dossier. • Les fichiers utilisent des préfixes comme teacher-audio ou student-practice. • Je n'utilise pas de JSON pour décrire la structure. • L'ajout d'un nouveau dossier met automatiquement l'application à jour.
J'avais également besoin d'un moyen de taguer les chansons. Je n'ai pas utilisé de fichier JSON pour cela. J'ai utilisé les propriétés de métadonnées de Drive. Vous pouvez ajouter des paires clé-valeur directement à un dossier. Cela permet de tout gérer en un seul appel API.
La configuration :
• Hébergement : GitHub Pages (Gratuit) • Authentification : Google Identity Services (côté client uniquement) • Stockage : Google Drive • Base de données : Aucune. La structure des dossiers sert de modèle. • Coût total : 0 $.
Un conseil : Drive supprime les anciennes révisions après 30 jours. Vous devez définir le flag keepRevisionForever pour les conserver.
Ce n'est pas un produit destiné au public. C'est un outil personnel pour ma famille.
L'objectif n'était pas seulement d'économiser de l'argent. Le but était de m'assurer que, dans deux ans, je puisse appuyer sur un bouton et entendre à quoi ressemblait ma fille aujourd'hui. L'architecture rend cela possible sans maintenance supplémentaire.
Avez-vous déjà utilisé l'historique des révisions ou le champ de propriétés de Drive pour votre infrastructure ?
Source : https://dev.to/vankadn/replaced-my-apps-database-with-my-daughters-google-drive-folder-1455
