Skip to content

Commit

Permalink
Update README (#12)
Browse files Browse the repository at this point in the history
* Update README

* Update README
  • Loading branch information
dmohns authored Aug 22, 2024
1 parent 14e3d17 commit 00ddcab
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 49 deletions.
80 changes: 33 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,53 @@
<p align="center">
<a href="https://github.com/EnAccess/OpenSmartMeter">
<a href="https://github.com/EnAccess/OpenPAYGO-js">
<img
src="https://drive.google.com/uc?id=1gtL_p7l3HbOcCzc09A7KW5d7B5qn-BDs"
alt="OpenSmartMeter"
src="https://enaccess.org/wp-content/uploads/2024/02/OpenPAYGO-Graphics-GitHub-2240-×-800.svg"
alt="OpenPAYGO"
width="640"
>
</a>
</p>
<p align="center">
9-10 May | Open Source in Energy Access Symposium Hackathon
<em>OpenPAYGO is an Open Source ecosystem to enable pay-as-you-go functionality in new devices and products.</em>
</p>
<p align="center">
<img
alt="Project Status"
src="https://img.shields.io/badge/Project%20Status-beta-orange"
>
<img
alt="GitHub Workflow Status"
src="https://img.shields.io/github/actions/workflow/status/EnAccess/OpenPAYGO-js/.github/workflows/check.yaml"
>
<a href="https://github.com/EnAccess/OpenPAYGO-js/blob/main/LICENSE" target="_blank">
<img
alt="License"
src="https://img.shields.io/github/license/EnAccess/openpaygo-python"
>
</a>
</p>

---

## Port OpenPAYGO Python library to other languages (e.g. JS, PHP)

**Stack:** Python, either JS or PHP

**Helpful experiences:** Library programming and management, CI/CD pipelines

**Abstract:** The OpenPAYGO suite currently provides only a Python library.
Libraries in other programming languages whould increase and enhance the adaptability of the OpenPAYGO ecosystem. As such, they should be published to common, language-specific package repositories (for example, NPM for JS, packagist for PHP, etc…)

## Challenge

The goal of this challenge is to make the OpenPAYGO functionality available in other programming languages. JS and PHP have been discussed and raised in the community in the past, but if the participants see a need for other relevant languages, this is great as well.

_Note:_ The OpenPAYGO library encompasses different features of the OpenPAYGO ecosystem, like Token or Metrics. The focus of the workgroup should be the Token. Adding other OpenPAYGO features could be subject to future improvements outside of this hackathon.

> [!NOTE]
> In this repository we are focusing on JavaScript implementation
> It is perfectly fine to also port it to other languages if participants bring expertise.
> Repositories will be created on the fly in this case.
## Expected outcome
# OpenPAYGO - JavaScript Lib

Like other challenges, the outcome of this one depends on the actual priorities and skill sets brought to the team.
A minimum expected outcome, however, is: One draft of a library in one additional relevant language, a roadmap, and a detailed to-do list of steps required to get to a final and usable level.
This repository contains the **JavaScript** implementions of different OpenPAYGO technologies to run on your server or device.

A non-exclusive list would look like this
Server-side tasks include

1. Extracting test cases for all Token modes from the [Python library](https://github.com/EnAccess/OpenPAYGO-Token/tree/main/tests)
2. Implement the OpenPAYGO Token algorithm in JavaScript
3. Add test cases based on the result of 1.
4. Integrate CI/CD pipeline to release the library to NPM
- generating OpenPAYGO tokens
- decoding OpenPAYGO metrics payloads

**Bonus outcome:** If the chosen language is JavaScript: Create a small static (!) website which can be used to generate OpenPAYGO Tokens for a testing use-case. The result should be similar to the example from Victron: <https://payg.victronenergy.com/> (however Tokens should be computed client side, not server side like in the Victron case).
Device side tasks

## Getting Started
- decoding OpenPAYGO tokens
- generating OpenPAYGO metrics payloads

- Join the OSEAS24 Discord server: <https://community.oseas.org/>
- Introduce yourself in #introductions channel and join this topic’s channel
- Confirm you have access to the following Repos
- <https://github.com/EnAccess/OpenPAYGO-js>
- <https://github.com/EnAccess/OpenPAYGO-php>
- For physical participants: Bring a computer (and required Adapters) for some hacking 🤖🧑‍💻
- Read the documentation
- <https://enaccess.github.io/OpenPAYGO-docs/>
- <https://www.paygops.com/openpaygotoken>
## Documentation

Contact person(s): Vivien / Daniel
OpenPAYGO documentation is hosted on [https://enaccess.github.io/OpenPAYGO-docs/](https://enaccess.github.io/OpenPAYGO-docs/).

## Further information and resources
## Support

- <https://github.com/EnAccess/OpenPAYGO-python/issues/11>
- <https://github.com/EnAccess/OpenPAYGO-python/issues/12>
- [OSEA Discord](https://discord.osea-community.org/) (`#openpaygo` channel)
- [EnAccess](https://enaccess.org/)
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "openpaygo",
"version": "0.0.1",
"description": "OpenPAYGO library in Javascript",
"description": "OpenPAYGO Javascript library",
"main": "index.js",
"scripts": {
"test": "jest",
Expand All @@ -20,7 +20,7 @@
"bugs": {
"url": "https://github.com/EnAccess/OpenPAYGO-js/issues"
},
"homepage": "https://github.com/EnAccess/OpenPAYGO-js#readme",
"homepage": "https://enaccess.github.io/OpenPAYGO-docs/",
"devDependencies": {
"@eslint/js": "^9.2.0",
"@types/jest": "^29.5.12",
Expand Down

0 comments on commit 00ddcab

Please sign in to comment.