README.md (6481B)
1 # Zenflows - Valueflows REA GraphDB 2 3 ![Zenflows logo](https://github.com/dyne/zenflows/raw/master/docs/zenflows_rea_logo.png) 4 5 Zenflows is a tool to leverage commons-based peer production by 6 documenting and monitoring the life cycle of products. The goal is 7 that of enabling a federated network of organizations to bundle, 8 systematize and share data, information and knowledge about physical 9 artifacts. 10 11 [![software by Dyne.org](https://files.dyne.org/software_by_dyne.png)](http://www.dyne.org) 12 13 ## Features 14 15 - Most validations are provable (and sealed by means of cryptography) using [Zenroom](https://zenroom.org) as core crypto component, including support for advanced Digital Product Passport schemes like 16 [REFLOW Portable Crypto Functions](https://medium.com/think-do-tank/reflow-crypto-material-passports-for-the-circular-economy-d75b3aa63678). 17 18 - The [Valueflows](https://valueflo.ws) vocabulary is adopted to govern a [Resource Event Agent](https://en.wikipedia.org/wiki/Resources,_Events,_Agents) accounting model and facilitate the development and execution of business logics built on top of it. 19 20 - The [PosgreSQL](https://postgresql.org) 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](https://elixir-lang.org) language framework. 21 22 Zenflows is a software component of the [INTERFACER project](https://www.interfacerproject.eu). 23 24 25 <h4 align="center"> 26 <a href="#-quick-start">🎮 Quick start</a> 27 <span> • </span> 28 <a href="#-install">💾 Install</a> 29 <span> • </span> 30 <a href="#-configuration">🔧 Configuration</a> 31 <span> • </span> 32 <a href="#-testing">📋 Testing</a> 33 <span> • </span> 34 <a href="#-styleguide">📘 Styleguide</a> 35 <span> • </span> 36 <a href="#-troubleshooting--debugging">🐛 Troubleshooting & debugging</a> 37 <span> • </span> 38 <a href="#-acknowledgements">😍 Acknowledgements</a> 39 <span> • </span> 40 <a href="#-links">🌐 Links</a> 41 <span> • </span> 42 <a href="#-contributing">👤 Contributing</a> 43 <span> • </span> 44 <a href="#-license">💼 License</a> 45 </h4> 46 47 48 49 50 <details id="toc"> 51 <summary><strong>🚩 Table of Contents</strong> (click to expand)</summary> 52 53 * [Quick start](#-quick-start) 54 * [Install](#-install) 55 * [Configuration](#-configuration) 56 * [Testing](#-testing) 57 * [Styleguide](#-styleguide) 58 * [Troubleshooting & debugging](#-troubleshooting--debugging) 59 * [Acknowledgements](#-acknowledgements) 60 * [Links](#-links) 61 * [Contributing](#-contributing) 62 * [License](#-license) 63 </details> 64 65 ## 🎮 Quick start 66 67 To start using Zenflows with native-to-host Elixir, PostgreSQL, and Restroom instances: 68 69 1. Run `./mann env.setup` to generate the configuration file, `conf/env.sh`. 70 2. Edit `conf/env.sh` to suit your needs. Read the [Configuration Guide](docs/configuration-guide.md) for more info. 71 3. Run `./mann dep.setup` to install dependencies. 72 5. Run `./mann serve` to start the application. 73 6. Head over to [`localhost:4000/play`](http://localhost:4000/play) for the GraphiQL playground. 74 7. Use the URL `http://localhost:4000/api` in case if you'd like to use your own GraphQL client. 75 76 To start using Zenflows with docker(-compose): 77 78 1. Run `./mann devop.serve` to generate the docker-compose file (automatically filled) and start the application. 79 80 If you want to edit the generated docker-copmose file: 81 82 1. Run `./mann devop.setup` to generate the docker-copmose file, `devop/docker-compose.yml`. 83 2. Edit `devop/docker-compose.yml` to suit your needs. Read the [Configuration Guide](docs/configuration-guide.md) for more info. 84 3. Run `./mann devop.serve` to start the application. 85 86 **[🔝 back to top](#toc)** 87 88 *** 89 ## 💾 Install 90 91 🚧 TODO 92 93 **[🔝 back to top](#toc)** 94 95 *** 96 ## 🔧 Configuration 97 98 🚧 TODO 99 100 **[🔝 back to top](#toc)** 101 102 *** 103 104 ## 📋 Testing 105 106 🚧 TODO 107 108 **[🔝 back to top](#toc)** 109 110 *** 111 ## 📘 Styleguide 112 113 * Use tabs for indentation, spaces for aligment. 114 * Don't indent the top-level code in modules. 115 * Use trailing commas in multi-line lists, maps, functions, etc. where 116 possible. 117 118 **[🔝 back to top](#toc)** 119 120 *** 121 ## 🐛 Troubleshooting & debugging 122 123 🚧 TODO 124 125 **[🔝 back to top](#toc)** 126 127 *** 128 ## 😍 Acknowledgements 129 130 [![software by Dyne.org](https://files.dyne.org/software_by_dyne.png)](http://www.dyne.org) 131 132 Copyleft (ɔ) 2021-2023 by [Dyne.org](https://www.dyne.org) foundation, Amsterdam 133 134 Designed, written and maintained by [srfsh](https://github.com/srfsh) with the help of [jaromil](https://github.com/jaromil), [puria](https://github.com/puria). 135 136 Reviews and suggestions contributed by [Lynn](https://github.com/fosterlynn), [Bob](https://github.com/bhaugen), and members of the Valueflows community. 137 138 <img src="https://upload.wikimedia.org/wikipedia/commons/8/84/European_Commission.svg" 139 width="190" alt="Project funded by the European Commission"> 140 141 This project is receiving funding from the European Regional Development Fund (ERDF). 142 143 **[🔝 back to top](#toc)** 144 145 *** 146 ## 🌐 Links 147 148 https://interfacerproject.eu 149 150 https://dyne.org/ 151 152 https://reflowproject.eu 153 154 https://www.valueflo.ws/ 155 156 **[🔝 back to top](#toc)** 157 158 *** 159 ## 👤 Contributing 160 161 Please first take a look at the 162 [Dyne.org - Contributor License Agreement](CONTRIBUTING.md) then 163 164 1. 🔀 [FORK IT](../../fork) 165 2. Create your feature branch `git checkout -b feat/branch` 166 3. Commit your changes `git commit -am 'Add some fooBar'` 167 4. Push to the branch `git push origin feature/branch` 168 5. Create a new Pull Request `gh pr create -f` 169 6. 🙏 Thank you 170 171 172 **[🔝 back to top](#toc)** 173 174 *** 175 ## 💼 License 176 Zenflows - Valueflows vocabulary 177 Copyright (c) 2021-2023 Dyne.org foundation, Amsterdam 178 179 This program is free software: you can redistribute it and/or modify 180 it under the terms of the GNU Affero General Public License as 181 published by the Free Software Foundation, either version 3 of the 182 License, or (at your option) any later version. 183 184 This program is distributed in the hope that it will be useful, 185 but WITHOUT ANY WARRANTY; without even the implied warranty of 186 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 187 GNU Affero General Public License for more details. 188 189 You should have received a copy of the GNU Affero General Public License 190 along with this program. If not, see <http://www.gnu.org/licenses/>. 191 192 193 **[🔝 back to top](#toc)**