Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: re-work examples and @waku/create-app #275

Open
2 of 5 tasks
weboko opened this issue Sep 27, 2023 · 6 comments
Open
2 of 5 tasks

feat: re-work examples and @waku/create-app #275

weboko opened this issue Sep 27, 2023 · 6 comments
Assignees
Labels
E:Presentation Readiness See https://github.com/waku-org/pm/issues/95 for details enhancement New feature or request

Comments

@weboko
Copy link
Contributor

weboko commented Sep 27, 2023

This is a feature request

Problem

In #260 couple of problems were noticed.

One is that as of now examples folder contains:

  • experiments with new features of waku (e.g web-chat);
  • examples of use cases of js-waku (e.g light-chat);
  • proof of concepts of potential uses, discovery of possibilities (e.g rln-js, noise-js, relay-direct-rtc);

At the same time examples are used in @waku/create-app for other developers to start building on top of js-waku.

Proposed Solutions

  • (1) Develop a set of patterns convenient to use by other developers, these might be just templates from feat: example templates for fast development #271

  • (2) Separate space for experiments and PoCs. As of now these are web-chat, noise-*, relay-direct-rtc

  • (3) Given that @waku/create-app should expose everything but main focus of this tool should be kept on first time developers and need to bootstrap their new development. That means these templates are defaults and only with an additional key provide the ability to fetch some other experiment / PoC.

  • (4) Since we see a clear differentiation between a template for a developer and an experiment and a PoC I'd put last two groups to lab.waku.org (per comment) but then templates are left behind and I don't expect to have many of them so would be nice to move as well. In that case exampels.waku.org can be a shortcut to the repo.

  • (5) Based on discussion from EcoDev monthly call and 2023 events retrospective, we should update the name of this repository to a more general name: examples. Post-update, identify broken links in https://docs.waku.org/.

Last point obviously requires move discussion within the team.

Notes

Relative issue #271

@weboko weboko added this to Waku Sep 27, 2023
@weboko weboko added the enhancement New feature or request label Sep 27, 2023
@weboko
Copy link
Contributor Author

weboko commented Sep 27, 2023

@waku-org/js-waku-developers wdyt?

@danisharora099 danisharora099 added the E:Presentation Readiness See https://github.com/waku-org/pm/issues/95 for details label Oct 17, 2023
@danisharora099 danisharora099 moved this to To Do in Waku Oct 17, 2023
@fryorcraken
Copy link
Collaborator

Cc @vpavlin @hackyguru

I suggest ownership of this repo moves to the eco dev team and to re-organize it in a way that it makes sense in terms for dev ex.

Meaning in terms of ownership:

  • eco dev: (1), (3)
  • js-waku devs: (2) (4)

cc @hackyguru @vpavlin

@fryorcraken
Copy link
Collaborator

fryorcraken commented Dec 4, 2023

Proposed action items:

  • @waku-org/js-waku-developers create a js-waku-lab repo
  • they move pocs to said repos (and delete here)
  • delete relay examples (out of scope for now)
  • @waku-org/eco-dev takes ownership of this repo and integrate their examples (tik tak toe etc)
  • @waku-org/js-waku-developers can continue to contribute to this repo but owners are @waku-org/eco-dev

@weboko
Copy link
Contributor Author

weboko commented Jan 5, 2024

Created the repo for @waku-org/js-waku-developers - https://github.com/waku-org/js-waku-lab

@weboko weboko moved this from To Do to In Progress in Waku Jan 8, 2024
@weboko weboko self-assigned this Jan 8, 2024
@weboko
Copy link
Contributor Author

weboko commented Jan 8, 2024

Renamed the repo to https://github.com/waku-org/waku-lab

Update:

It contains:

  • light-js - debugging example for light protocols;
  • nosie-js - PoC of Noise encryption;
  • nosie-rtc - PoC as before + WebRTC;
  • relay-* - Relay examples are experimental;
  • web-chat - playground but could stay in js-waku-examples;

js-waku-examples will keep(PR #295):

  • create-react-app - should be revamped and used for development templates distribution and not exampels;
  • eth-pm - showcase of W2W and encryption;
  • light-chat - basic chat;
  • rln-js - RLN showcase;
  • store-* - Store protocol;

Example life cycle:

I see example coming from:

  • update from PoC / experiment - when API becomes mature so we can transfer from waku-lab to js-waku-examples;
  • showcase worthy example developed by eco-dev or JS team (or anyone else);

create-react-app

We should re-work it and focus it on promoting templates with good defaults for light protocols and keep showing examples to hackers and others. Reason is that I observe many hackers shamelessly copy-pasting examples partially because they are bootstrapped by it.

Work items for it:

  • create basic templates with js-waku as dependency;
  • make it accessible from create-waku-app;
  • improve release of it;
  • set-up dependency bot to keep js-waku up to date;

Since I have more context I'll go ahead and do it in following days (with lowest priority) if @waku-org/eco-dev is not against it.

@weboko weboko moved this from In Progress to Code Review / QA in Waku Jan 10, 2024
@fryorcraken
Copy link
Collaborator

update from PoC / experiment - when API becomes mature so we can transfer from waku-lab to js-waku-examples;

If a PoC / experiment get mature than indeed it can be handed over to Dev Rel that can define the example they want to use to showcase/document this experiment. They can decide to copy it over or can decide to do a brand new name.

In terms of mandate for @waku-org/js-waku-developers: just have enough example to demonstrated the main APIs. So in the case of an experiment, it may then be merged into a dogfood webapp of lab.waku.org or kept as the dogfooding webapp.
js-waku devs should aim to minimize the number of webapps they maintain in lab.waku.org, more about this in waku-org/js-waku#1784

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E:Presentation Readiness See https://github.com/waku-org/pm/issues/95 for details enhancement New feature or request
Projects
Status: Code Review / QA
Development

No branches or pull requests

3 participants