Русский
Русский
English
Статистика
Реклама

Okdb библиотека для совместной работы



Организация совместной работы в приложении всегда кажется большим геморроем и отметается на этапе планирования большинства приложений. По сути, сейчас принято пилить реалтайм-взаимодействие только там, где это часть обязательного функционала, в качестве дополнительной фишки его не встретить. Разработчики из Anwendo хотят исправить эту ситуацию и представляют okdb библиотеку и сервис, позволяющие снять с себя львиную долю проблем и сложности, связанных с организацией совместных рабочих сессий.


Реализация


Фронтенд подключается через Realtime API и позволяет синхронизировать курсоры, имена и фокус пользователей с бэкэндом на GraphQL.

Realtime API работает на вебсокетах, пересылая только изменения, внесённые пользователем. Синхронизацией всех поступающих изменений занимается бэкэнд-сервис. В доках можно почитать API reference.



GraphQL пока умеет работать только с PostgreSQL с полным покрытием таблиц, индексов и связей. Остальные базы на подходе.



Собираем пример


Нам потребуется node.js и, конечно, git.

git clone https://github.com/okdb-io/okdb-sample-todo.git cd okdb-sample-todo/backendnpm installnpm run server


Сервер запустится на 7899 порту. Кстати, исходник здесь: github.com/okdb-io/okdb-sample-todo/blob/master/backend/server.js

Собственно запуск сервиса происходит здесь:

const OkdbServer = require("okdb-server");// Create and start server on 7899 port by default.// CORS is disabled by default, let's enable it,// because demo frontend and backend run on different ports on localhostconst options = {    cors: {        enabled: true    }}const okdb = new OkdbServer(options);{...}// sample authentication, e.g. should validate your own auth tokenokdb.handlers().auth((token) => {    if(token === "12345") {        return { id: "1", name: "User"}    }        return null;});


Собираем фронт:

cd okdb-sample-todo/frontendnpm installnpm start


Код App.js здесь: github.com/okdb-io/okdb-sample-todo/blob/master/frontend/src/App.js

Теперь на 3000 можно открыть приложение в нескольких браузерах и посмотреть на магию.

Если лень билдить всё вручную, можно воспользоваться готовыми демками на codesandbox:



Бэк



Также доступны и более функциональные демки:

Таблица



Лагучий графический редактор



Текстовый редактор



Заключение


odkb пока не вышел из ниши начинающих продуктов, но в нише синхронизации у него есть все шансы закрепиться. Сейчас он полностью опенсорсный, всё доступно в репозиториях проекта. В дальнейшем разработчики собираются монетизироваться через продажу облачной реализации и поддержку. В планах допил интеграций с основными БД и контейнеризация сервиса, ну и новые фичи, конечно.



На правах рекламы


Серверы для размещения сайтов и любых других задач это про наши эпичные! Все серверы защищены от DDoS-атак, автоматическая установка удобной панели управления VestaCP. Лучше один раз попробовать ;)

Источник: habr.com
К списку статей
Опубликовано: 07.10.2020 12:08:05
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании vdsina.ru — хостинг серверов

Open source

Анализ и проектирование систем

Api

Okdb

Graphql

Совместная работа

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru