@Arrow_MGD

Офлайн работа с БД в PWA приложении?

Написал веб приложение для внутреннего пользования. Есть сущности за которыми нужен учёт: добавлять, удалять, изменять, переносить и прочее. На данный момент работа идёт через Google табличку, что надоедает и хочется более удобный интерфейс. Да и вообще как учебный проект для себя сделал. Учусь...)

Писал на Vue. Весь BackEnd отдал supabase (аналог firebase, только без санкций). С данными работаю через Vuex, туда загружаю инфу с БД, а через Vuex Actions отправляю обратно (не знаю правильно ли так делать, но решил вынести всю работу с БД из компонентов и прорефакторил всё во Vuex).

Залил dist на GitHub Pages (приложением пользуются 3-4 человека, так что мне достаточно такого фри хостинга). Сделал также PWA приложение (просто через vite-plugin-pwa). Короче приложение работает с инетом отлично. Но без инета связь с supabase прерывается понятное дело...

1. Есть ли какие-то уже надстройки, фреймворки, библиотеки чтобы автоматизировать "офлайн запись" запросов, чтобы при выходе из офлайна была синхронизация с БД? В какую сторону смотреть? Или придется что-то лепить самому?
2. Если лепить самому, правильно ли я думаю, что нужно будет каждый раз при подключении делать копию в localStorage/IndexedDB части данных, а дальше уже работать с ней? Вдобавок все операции CRUD записывать в localStorage во время офлайна, чтобы при онлайн подключении делать массовую выгрузку в supabase?
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Есть такая штука: https://pouchdb.com/ которая сделана как раз для этого и с почти автоматической репликацией в https://couchdb.apache.org/

полуофф: vuex надо выкинуть и начать использовать pinia пока не поздно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы