Редактор P2P
Редактор кода P2P для живых сессий кодирования, которые работают в браузере.
Эта параллельная вселенная P2P все еще очень темная. Создайте звезду, если вы хотите сделать ее ярче?
Изучите вселенную »
Онлайн -демонстрация · Дорожная карта · внести свой вклад
Оглавление
- Что делает редактор P2P?
- ? Почему P2P?
- Преимущества P2P
- Добавлены сложности полностью распределенного
- Архитектура
- Настройка среды
- ? Необходимы инструменты
- Конфигурация среды
- ? Выполнение приложения
- ✅ Испытания выполнения
- Живая демонстрация
- О
- ? Внося
- ⚖ Лицензия
Что делает редактор P2P?
Редактор P2P - это редактор кода, который работает в браузере, который позволяет делиться живыми сессиями кодирования. Смотрите, что вы поделитесь новой сессией:
- Откройте сеанс редактора P2P в своем браузере
- Поделитесь своим сессионным URL с кем -то другим (или даже с собой в другом окне браузера?)
- Начните печатать и наслаждаться опытом в реальном времени!
На данный момент функциональные возможности ограничены, но у нас есть дорожная карта и несколько хороших первых проблем, чтобы сделать P2P Editor потрясающим. Посмотрите на раздел, если вы хотите принять участие?
? Почему P2P?
Мы удалили необходимость наличия централизованного сервера, где все изменения сохраняются. Общение делается от одного узла (подключенного пользователя) к другому. При этом у нас есть некоторые преимущества, но мы также должны учитывать дополнительную сложность:
Преимущества P2P
- Прямая связь: уменьшить задержку и пропускную способность.
- Нет серверов: нет облака, нет масштабирования, без развертывания, бездонов ...
- Нет SaaS:
- Доступность.
- Нет ограничения использования.
- Нет неизвестного (злонамеренного или нет) использования ваших данных.
Добавлены сложности полностью распределенного
- Последовательность данных.
- Сетевой раздел / топология.
- Обнаружение сверстников и установления связи.
- Аутентификация / авторизация.
- Безопасность и конфиденциальность.
У нас есть особый интерес к разработке приложений P2P. Вы можете прочитать больше в разделе о.
Архитектура

P2P Редактор строительных блоков:
- Редактор кода: Ace
- База данных: добавление только журнала (Hypercore)
- Коммуникация: webrtc rtcdatachannel (webrtc-swarm)
- Обнаружение сверстников: сервер сигнализации WEBRTC (SignalHub)
- Хранение: ОЗУ
Рабочий процесс:
- Управления обнаружены через сервер сигнализации.
- Для каждого изменения, сделанного в редакторе, дельта, представляющая это изменение, добавляется в базу данных Hypercore.
- Гиперкорная база данных постоянно воспроизводит между всеми одноранговыми коллегами через webrtc rtcdatachannel.
- Когда коллега получает дельту, она применяется к экземпляру редактора.
Настройка среды
? Необходимы инструменты
- Установите Docker
- Клонировать этот проект:
git clone https://github.com/CodelyTV/p2p-editor - Перейти к папке проекта:
cd p2p-editor
Конфигурация среды
- Скопировать переменные среды по умолчанию:
cp .env.dist .env - При необходимости изменить переменные среды:
vim .env
? Выполнение приложения
- Начните приложение с Docker Compose:
docker-compose up - Перейдите в http: // localhost: 3617
✅ Испытания выполнения
- Выполнить модульные тесты:
docker-compose run p2p-editor test
Живая демонстрация
- Чтобы запустить новый сеанс живого кода откройте http://p2p-editor.codely.tv.
- Поделитесь URL -адресом с пользователями, которых вы хотите присоединиться к сеансу.
- Начните редактировать файл.
Вот и все! Все изменения мгновенно отражаются в редакторе подключенных сверстников.
Счастливого кодирования P2P!
О
Мы начали этот проект в контексте учебного процесса о коммуникациях P2P в веб -среде. Цель редактора P2P - применять подход, когда мы можем поделиться своими знаниями с сообществом , применить обучение , создавая что -то полезное.
Мы публикуем все учебные ресурсы, которые мы нашли полезными в удивительном хранилище P2P. Не стесняйтесь проверить это и добавить ваши любимые ссылки!
Первоначальная реализация редактора P2P основана на работе Mathias Buus. Если вы прочитаете это, большое спасибо за то, что поделились так много бесплатных (Libre) ресурсов и знаний?
P2P Editor - это не прибыльное программное обеспечение, поддерживаемое пользовательскими вкладами и CodelyTV.
? Внося
Как вы можете внести свой вклад?
- Сообщать об ошибках.
- Предоставление обратной связи и предложение новых функций.
- Давая репо звезду.
- Участие в разработке вопросов, помеченных как
good first issue . - Добавление учебных ресурсов в потрясающий репозиторий P2P.
Вы можете получить представление о дорожной карте редактора P2P, глядя на отставание и вики.
⚖ Лицензия
Лицензия MIT (MIT). Пожалуйста, смотрите лицензию для получения дополнительной информации.