החלפתי את מסד הנתונים של האפליקציה שלי בתיקיית Google Drive
רציתי לעקוב אחר ההתקדמות המוזיקלית של הבת שלי. היא מקבלת קטעי אודיו והערות מהמורה שלה מדי שבוע. רציתי להקשיב לסשנים של האימונים שלה לאורך זמן. לא רציתי שההקלטות החדשות ידרסו את הישנות.
בניתי אפליקציה כדי לפתור את זה. אין לה backend. אין לה מסד נתונים. היא עולה אפס דולר.
רוב המפתחים מתעלמים מתכונה אחת ב-Google Drive. זו היסטוריית הגרסאות (revision history).
כשמעלים גרסה חדשה של קובץ עם אותו שם ו-ID, ה-Drive שומר את הגרסה הישנה. היא נשמרת עם חותמת זמן וניתנת לדפדוף.
במקום לבנות מסד נתונים מורכב עם טבלאות ומפתחות זרים (foreign keys), אני פשוט דורס את הקובץ. ה-Drive מטפל בניהול הגרסאות (versioning). האפליקציה שלי משתמשת בשתי קריאות API כדי להציג את ההיסטוריה. לא כתבתי שום לוגיקה של ניהול גרסאות.
מבנה התיקיות משמש כסכימת מסד הנתונים (database schema) שלי:
• לכל שיר יש תיקייה משלו. • הקבצים משתמשים בקידומות כמו teacher-audio או student-practice. • אני לא משתמש ב-JSON כדי לתאר את המבנה. • הוספת תיקייה חדשה מעדכנת את האפליקציה באופן אוטומטי.
הייתי צריך גם דרך לתייג שירים. לא השתמשתי בקובץ JSON בשביל זה. השתמשתי במאפייני מטא-דאטה (metadata properties) של ה-Drive. ניתן להוסיף זוגות מפתח-ערך (key-value pairs) ישירות לתיקייה. זה שומר על הכל בתוך קריאת API אחת.
ההגדרה:
• Hosting: GitHub Pages (חינם) • Auth: Google Identity Services (צד לקוח בלבד) • Storage: Google Drive • Database: אין. מבנה התיקיות הוא המודל. • עלות כוללת: $0.
טיפ אחד: ה-Drive מוחק גרסאות ישנות לאחר 30 יום. עליך להגדיר את הדגל keepRevisionForever כדי לשמור אותן.
זה לא מוצר לציבור הרחב. זה כלי אישי למשפחה שלי.
המטרה לא הייתה רק לחסוך כסף. המטרה הייתה להבטיח שבעוד שנתיים, אוכל ללחוץ על כפתור ולשמוע איך הבת שלי נשמעה היום. הארכיטקטורה הופכת את זה לאפשרי ללא תחזוקה נוספת.
האם השתמשת בהיסטוריית הגרסאות או בשדה המאפיינים (properties field) של ה-Drive עבור תשתית?
מקור: https://dev.to/vankadn/replaced-my-apps-database-with-my-daughters-google-drive-folder-1455
