Крок назад та роздуми що подобається та ні в стеку для клона Reddit
Дивлюся що подобається або ні у виборі попередніх технологій для створення статичної версії Reddit
Що подобається в тих ідеях, що я озвучував в попередніх постах:
- JSON Feed стрічки з оновленнями від користувача;
- JSON Feed стрічки-дзеркала (мастхев: Telegram, YouTube, SoundCloud);
- JSON Feed загальні стрічки з фіксованими темами (теми такі самі як на Reddit);
- Користувач має список підписок та кожна стрічка-підписка завантажується користувачем окремо. Сайт не контролює список стрічок-підписок кожного користувача, лише зберігає список;
- Кешування стрічок через WebWorker.
Що сумнівно:
- IndexedDB, не певен що ця БД потрібна. Можно розглядати як запасний варіант, якщо WebWorker виявиться не ефективним;
- Складання коментарів, реакцій в статику. Це більш динамічні дані, тому, здається що буде більш ефективніше класти їх в якусь реляційну БД з АПІ, накшталт Supabase.
Взагалі сама Supabase може бути непоганим рішенням як головний Source of Truth та авторизація. Потенційно які відповідальності бере на себе Supabase:
- Утримання списка оновлень (пост, репост, коментар, реакція, підписка) в проіндексованому стані;
- Утримання підписок користувача;
- Авторизація через соціальні мережі;
- Відправка сповіщень.
Тоді як Cloudflare бере на себе відповідальності:
- Вичитування оновлень з Supabase за поточний день та створення стрічок для користувачів в статиці;
- Утримування зображень, відео, аудіо в R2.
Клієнт (браузер) користувача відповідальний за:
- Утримання токену авторизації користувача;
- Зчитування підписок користувача;
- Зчитування і показ стрічок на котрі підписан користувач.
Публікація захищена ліцензією
CC BY 4.0
.