Skip to content

interfacerproject/zenflows

Repository files navigation

Zenflows - Valueflows REA GraphDB

Zenflows logo

Zenflows is a tool to leverage commons-based peer production by documenting and monitoring the life cycle of products. The goal is that of enabling a federated network of organizations to bundle, systematize and share data, information and knowledge about physical artifacts.

software by Dyne.org

Features

  • Most validations are provable (and sealed by means of cryptography) using Zenroom as core crypto component, including support for advanced Digital Product Passport schemes like REFLOW Portable Crypto Functions.

  • The Valueflows vocabulary is adopted to govern a Resource Event Agent accounting model and facilitate the development and execution of business logics built on top of it.

  • The PosgreSQL database backend is used as battle-tested data-storage solution well compatible with established enterprise standards in system administration, on top of it a GraphQL interface is developed based on the well performant Elixir language framework.

Zenflows is a software component of the INTERFACER project.

🚩 Table of Contents (click to expand)

🎮 Quick start

To start using Zenflows with native-to-host Elixir, PostgreSQL, and Restroom instances:

  1. Run ./mann env.setup to generate the configuration file, conf/env.sh.
  2. Edit conf/env.sh to suit your needs. Read the Configuration Guide for more info.
  3. Run ./mann dep.setup to install dependencies.
  4. Run ./mann serve to start the application.
  5. Head over to localhost:4000/play for the GraphiQL playground.
  6. Use the URL http://localhost:4000/api in case if you'd like to use your own GraphQL client.

To start using Zenflows with docker(-compose):

  1. Run ./mann devop.serve to generate the docker-compose file (automatically filled) and start the application.

If you want to edit the generated docker-copmose file:

  1. Run ./mann devop.setup to generate the docker-copmose file, devop/docker-compose.yml.
  2. Edit devop/docker-compose.yml to suit your needs. Read the Configuration Guide for more info.
  3. Run ./mann devop.serve to start the application.

🔝 back to top


💾 Install

🚧 TODO

🔝 back to top


🔧 Configuration

🚧 TODO

🔝 back to top


📋 Testing

🚧 TODO

🔝 back to top


📘 Styleguide

  • Use tabs for indentation, spaces for aligment.
  • Don't indent the top-level code in modules.
  • Use trailing commas in multi-line lists, maps, functions, etc. where possible.

🔝 back to top


🐛 Troubleshooting & debugging

🚧 TODO

🔝 back to top


😍 Acknowledgements

software by Dyne.org

Copyleft (ɔ) 2021-2023 by Dyne.org foundation, Amsterdam

Designed, written and maintained by srfsh with the help of jaromil, puria.

Reviews and suggestions contributed by Lynn, Bob, and members of the Valueflows community.

Project funded by the European Commission

This project is receiving funding from the European Regional Development Fund (ERDF).

🔝 back to top


🌐 Links

https://interfacerproject.eu

https://dyne.org/

https://reflowproject.eu

https://www.valueflo.ws/

🔝 back to top


👤 Contributing

Please first take a look at the Dyne.org - Contributor License Agreement then

  1. 🔀 FORK IT
  2. Create your feature branch git checkout -b feat/branch
  3. Commit your changes git commit -am 'Add some fooBar'
  4. Push to the branch git push origin feature/branch
  5. Create a new Pull Request gh pr create -f
  6. 🙏 Thank you

🔝 back to top


💼 License

Zenflows - Valueflows vocabulary
Copyright (c) 2021-2023 Dyne.org foundation, Amsterdam

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

🔝 back to top