swarms/ideas/309-js-protocol-library-web...

71 lines
2.1 KiB
Markdown

---
id: 309-js-library
title: Build a status protocol JS library & example web client for status
status: draft
created: 2018-10-15
category: multi-category
lead-contributor: iurimatias (Iuri Matias)
contributors:
- Richard Ramos
- Barry G
exit-criteria: no
success-metrics:
- js library that is easy to reuse to implement custom clients for status
- proof of concept web chat client
clear-roles: no
future-iteration: yes
roles-needed:
- JS or TS developers (nodejs, react, redux)
- Frontend developers (css, bootstrap)
---
## Preamble
Idea: 309
Title: Build a status protocol JS library & example web client for status
Status: Draft
Created: 2018-10-15
## Summary
We need to make it easier for devs & 3rd parties to build their own chat clients & applications on top of the status protocol.
We also need different/new client implementations which just like in the case of Ethereum itself, helps out flush the protocol and define it better. Arguably It also helps decentralization as users are not necessarily dependant on one client implementation.
### Swarm Participants
- Contributor: [@iurimatias](https://github.com/iurimatias)
- Contributor: [@richard-ramos](https://github.com/richard-ramos)
- Contributor: [@bgits](https://github.com/bgits)
### Technical solution
- JS library that abstracts protocol, so developer can:
-- connect to (a) network
-- listen & send messages to a channel or another user
-- is allowed to specify his own (sub)-app protocol
- Webapp client
-- serverless app, connects to local geth node (initial solution)
-- implements similar UI & functionality to existing status desktop
### Technologies to use
- nodejs + webpack (to build library for both node and browser)
- react
- redux
### Milestones
* 1. poc script that listens & display messages on the command line connected to a configured geth node.
* 2. NodeJS library to listen to & send messages to custom channels.
* 3. poc WebUI to listen to & send messages to custom channels.
### Dates
To start after Devcon.
### relevant work
- https://github.com/trazyn/weweChat
- https://github.com/noman-land/matrix-whisper-bridge