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.
-
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.
🎮 Quick start • 💾 Install • 🔧 Configuration • 📋 Testing • 📘 Styleguide • 🐛 Troubleshooting & debugging • 😍 Acknowledgements • 🌐 Links • 👤 Contributing • 💼 License
🚩 Table of Contents (click to expand)
To start using Zenflows with native-to-host Elixir, PostgreSQL, and Restroom instances:
- Run
./mann env.setup
to generate the configuration file,conf/env.sh
. - Edit
conf/env.sh
to suit your needs. Read the Configuration Guide for more info. - Run
./mann dep.setup
to install dependencies. - Run
./mann db.setup
to setup the database and run the migrations. - Run
./mann serve
to start the application. - Head over to
localhost:4000/play
for the GraphiQL playground. - 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):
- Run
./mann devop.serve
. This will create the necessary docker-compose file and fill in the secrets. - When the iex (elixir shell) comes up, just type
Zenflows.Reltask.migrate()
and hit enter to migrate the database.
Optionally, you can run ./mann devop.setup
before running ./mann devop.serve
to generate the docker-compose file, and edit it to suit your needs.
🚧 TODO
🚧 TODO
🚧 TODO
- 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.
🚧 TODO
Copyleft (ɔ) 2021-2022 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.
This project is receiving funding from the European Regional Development Fund (ERDF).
Please first take a look at the Dyne.org - Contributor License Agreement then
- 🔀 FORK IT
- Create your feature branch
git checkout -b feat/branch
- Commit your changes
git commit -am 'Add some fooBar'
- Push to the branch
git push origin feature/branch
- Create a new Pull Request
gh pr create -f
- 🙏 Thank you
Zenflows - Valueflows vocabulary
Copyright (c) 2021-2022 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/>.