-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update README * Update README
- Loading branch information
Showing
2 changed files
with
35 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters