Я заменил базу данных своего приложения папкой в Google Drive
Я хотел отслеживать музыкальный прогресс своей дочери. Каждую неделю она получает аудиоклипы и заметки от своего учителя. Я хотел иметь возможность прослушивать её занятия со временем. Я не хотел, чтобы новые записи перезаписывали старые.
Чтобы решить эту задачу, я создал приложение. У него нет бэкенда. У него нет базы данных. Оно стоит ноль долларов.
Большинство разработчиков упускают из виду одну функцию в Google Drive. Это история версий.
Когда вы загружаете новую версию файла с тем же именем и ID, Drive сохраняет старую версию. Она остается с временной меткой, и её можно просмотреть.
Вместо того чтобы строить сложную базу данных с таблицами и внешними ключами, я просто перезаписываю файл. Drive берет версионирование на себя. Мое приложение использует два вызова API, чтобы показать историю. Мне не пришлось писать логику версионирования.
Структура папок служит моей схемой базы данных:
• У каждой песни есть своя папка. • Файлы используют префиксы вроде teacher-audio или student-practice. • Я не использую JSON для описания структуры. • Добавление новой папки автоматически обновляет приложение.
Мне также понадобился способ тегирования песен. Для этого я не использовал JSON-файл. Я использовал свойства метаданных Drive. Вы можете добавлять пары ключ-значение прямо к папке. Это позволяет держать всё в рамках одного вызова API.
Настройка:
• Хостинг: GitHub Pages (бесплатно) • Авторизация: Google Identity Services (только на стороне клиента) • Хранилище: Google Drive • База данных: отсутствует. Структура папок и есть модель. • Общая стоимость: $0.
Один совет: Drive удаляет старые ревизии через 30 дней. Вы должны установить флаг keepRevisionForever, чтобы сохранить их.
Это не продукт для широкой публики. Это личный инструмент для моей семьи.
Целью была не только экономия денег. Целью было сделать так, чтобы через два года я мог нажать кнопку и услышать, как звучала моя дочь сегодня. Такая архитектура делает это возможным без дополнительного обслуживания.
Использовали ли вы историю версий или поле свойств Drive для инфраструктуры?
Источник: https://dev.to/vankadn/replaced-my-apps-database-with-my-daughters-google-drive-folder-1455
