Coder Social home page Coder Social logo

eqlabs / wmm-components Goto Github PK

View Code? Open in Web Editor NEW
5.0 7.0 1.0 59.01 MB

A web component library for web monetization

Home Page: https://eqlabs.github.io/wmm-components/

License: MIT License

JavaScript 98.28% Shell 0.54% Dockerfile 1.18%
webmonetization monetization payments micropayments interledger webcomponents

wmm-components's Introduction

A Web Component Library for Web Monetization

wmm-web-components: npm version     wmm-utils: npm version

Web Monetization (WM) is a new technology allowing content creators to easily receive money from their digital goods. wmm-components includes a collection of components, that allow creators of media (whether video, audio or text) to start receiving money with a simple installation and configuration file.

Open documentation

Quickstart

See examples/withoutBackend on how to use the media UI components without backend verification.

For full fledged video and audio example, run:

npm run exampleStreaming

Run text example:

npm run exampleText

Online examples

Online audio and video example

Online text text

wmm-components's People

Contributors

janianttonen avatar jonijuup avatar juhaviitala avatar jussiry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

isabella232

wmm-components's Issues

Milestone / work order?

In the current project plan the main milestones starts with creating libraries for video, audio and text, in this order.

Is this proper order or would it be better to start from simpler like text and go on with more complex topics.

Visual and UI elements

WMM logo
Docusaurus basic layout / project visuals
Pop-up design (events)
State indicator, traffic lights etc.

Use Lerna for monorepo shenanigans (or don't)

Lerna: Not necessarily an absolute requirement, but would probably ease up any releases.

Package structure: IMO seems a bit wild at the moment, so I'll leave a suggestion:

wmm-componentspackage.json, enables installing all components as a single package

wmm-videopackage.json, individually installable
wmm-audiopackage.json, individually installable
wmm-article – package.json, individually installable
wmm-utilspackage.json, individually installable, all backend code resides here.

Move backend-related code and dependencies out of frontend component libraries

...to wm-utils or something similar.

Why?

This is because we should separate frontend libraries from any backend code, since all dependencies not marked as devDependencies will add unused code in our libraries.

Suggestions

These individual web component libraries could have a demo folder which would have the demo, utilizing backend code from wmm-utils, or wmm-backend in the future. All dependencies only required in the demo should be marked and installed as devDependencies. Good resource on how to think about frontend library demos is https://open-wc.org/guides/developing-components/going-buildless/#dev-server

This demo code would not get included in any package installs, since it would be not included in the download as it is ignored in .npmignore inside the package folder.

Video component events

Use vmm-video element as event emitter for both video state and monetization state related to this media instance.

Currently implemented:

  • bind to all media events in video element https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
  • 'monetized' - backend verifed monetization event (show account balance in the details)
  • 'monetizeFailed' - monetization event failed (with reason of failure)
  • 'monetizationStopped' - currently fires when wmm-video monetization is replaced by another media monetization
  • what else...?

Define tools

  • Repo - Github
  • Project management - Github
  • Ganban - Github
  • Documentation - Docusaurus
  • Primary communication - Slack
  • Reference / link list

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.