Skip to content

Sync with farmstack-open repository #1

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 182 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
5e30d17
Restructuring Project
Jun 20, 2021
a81b751
run.sh fix
Jun 20, 2021
d96b19e
docker log fix
Jun 20, 2021
b94d950
run and stop file changes
mgautam099 Jun 20, 2021
69ec51a
Stopping instructions added to readme
mgautam099 Jun 20, 2021
6fb98bc
Merge pull request #2 from digitalgreenorg/mayank/new/documentation
Jun 21, 2021
aaa8f15
GitBook: [main] 12 pages and 18 assets modified
Jun 21, 2021
5b29253
gitbook yml created, structure changed
mgautam099 Jun 21, 2021
eb37b17
GitBook: [main] 11 pages and 2 assets modified
Jun 21, 2021
dd468b8
Summary changes
mgautam099 Jun 21, 2021
3c8444d
GitBook: [main] 5 pages and 2 assets modified
Jun 21, 2021
3cb15c9
removed extra readme
mgautam099 Jun 21, 2021
f9c8aca
Added Contributing to Farmstack
mgautam099 Jun 21, 2021
5bab5e0
created scripts folder
mgautam099 Jun 21, 2021
6dd629d
Merge pull request #3 from digitalgreenorg/mayank/new/documentation
Jun 21, 2021
ff0d5b0
GitBook: [main] 4 pages modified
Jun 21, 2021
14dff0c
GitBook: [main] 5 pages modified
Jun 21, 2021
4ffbc58
GitBook: [main] 5 pages modified
Jun 21, 2021
75f5e5a
Create example_uc.yml
Jun 22, 2021
9a50481
Merge pull request #4 from digitalgreenorg/mayank/new/github-actions
Jun 22, 2021
7707f4e
Update example_uc.yml
Jun 22, 2021
1da437d
Update example_uc.yml
Jun 22, 2021
d9d4516
Update example_uc.yml
Jun 22, 2021
d8d5726
Update example_uc.yml
Jun 22, 2021
03c36c7
Update example_uc.yml
Jun 22, 2021
01d240b
Update example_uc.yml
Jun 22, 2021
b9aaaa2
Update example_uc.yml
Jun 22, 2021
98164d8
Update example_uc.yml
Jun 22, 2021
a09eb86
updated workflow
Jun 22, 2021
438efa4
check for data ci
Jun 22, 2021
72e3e62
Data validation update
Jun 22, 2021
d5d0f8b
added badge to readme
Jun 22, 2021
783fc23
UC Test case
Jun 22, 2021
6695335
Updated action
Jun 22, 2021
5cd3f41
Merge pull request #5 from digitalgreenorg/mayank/new/github-actions
Jun 22, 2021
bc0575d
add setup and integrate files
sagardg Jun 23, 2021
c173c07
add logs
sagardg Jun 23, 2021
568d27c
make sh executable
sagardg Jun 23, 2021
544f4eb
make sh executable
sagardg Jun 23, 2021
8512379
fix setup path
sagardg Jun 23, 2021
d8f1cd7
modify setup
sagardg Jun 24, 2021
f520f74
add installer script
sagardg Jun 24, 2021
4af3867
Sidebar integration
Jun 24, 2021
8daca03
Merge branch 'UI_backend_integration' of github.com:digitalgreenorg/f…
Jun 24, 2021
8607406
installer shell script
sagardg Jun 24, 2021
d32e026
Merge branch 'UI_backend_integration' of https://github.com/digitalgr…
sagardg Jun 24, 2021
8cb75a7
linux setup bug fix
sagardg Jun 25, 2021
96f9787
Debug linux install issue
sagardg Jun 25, 2021
5ef89e7
debug linux script
sagardg Jun 25, 2021
cceb708
debug linux script
sagardg Jun 25, 2021
d9d3aa6
debug linux script
sagardg Jun 25, 2021
8e537fd
fix for linux machines
sagardg Jun 25, 2021
da44a01
fix for linux machines
sagardg Jun 25, 2021
137adbb
Integration of loader and changes in merge-csv app
Jun 25, 2021
d10e033
clear existing logs and get top 100 log details
sagardg Jun 25, 2021
2b76122
create dynamic routes and add pip3 in install script
sagardg Jun 25, 2021
8a88dc7
install docker in linux system
sagardg Jun 25, 2021
7f0234b
fix consumer app css
sagardg Jun 25, 2021
cd21d20
Color changes
enigmaticmahesh Jun 25, 2021
dba23fa
change css for consumer app
sagardg Jun 25, 2021
f0f04e1
Merge pull request #7 from digitalgreenorg/fs-new-ui-mahesh-25-06-2021
sagardg Jun 25, 2021
e54a85a
UI changes
sagardg Jun 25, 2021
1e19f6e
Minor ui fixes
sagardg Jun 25, 2021
7d24ffa
change install
sagardg Jun 25, 2021
872fbb8
change install script
sagardg Jun 25, 2021
53097fc
Update install.sh
sagardg Jun 25, 2021
b12a41f
chnage url for app.js
sagardg Jun 25, 2021
757c9a1
Code cleanup
mgautam099 Jun 25, 2021
3ed4806
Github action update
mgautam099 Jun 26, 2021
1e054cb
Github actions updated
mgautam099 Jun 26, 2021
49fe8f5
fixed github action
mgautam099 Jun 26, 2021
1122b43
removed self-managed github action
mgautam099 Jun 26, 2021
b007807
Various style related changes
Jun 26, 2021
1db4e3c
logo click to home
Jun 26, 2021
7b74352
Button padding changed, Last sync date changed
Jun 26, 2021
2012c1d
Connector running fix
Jun 26, 2021
db79063
gitignore for python added
mgautam099 Jun 26, 2021
7318046
Merge pull request #8 from digitalgreenorg/mayank/update/demo_design
Jun 26, 2021
5768496
Moved scripts to scripts directory
mgautam099 Jun 26, 2021
77fd321
Merge pull request #9 from digitalgreenorg/mayank/fix/code_cleanup
Jun 26, 2021
edc1e20
GitBook: [main] 2 pages modified
Jun 26, 2021
f99c5d5
GitBook: [main] 12 pages and 3 assets modified
Jun 27, 2021
6232925
GitBook: [main] one page modified
Jun 27, 2021
1e3913a
GitBook: [main] one page modified
Jun 27, 2021
eea874c
install script branch fix
Jun 27, 2021
26ba8e3
update for spring boot tc
mgautam099 Jun 29, 2021
56a08ac
add docker client to stop and remove containers
sagardg Jun 30, 2021
cf956c7
add docker to setup.py
sagardg Jun 30, 2021
8f7fa12
add loader while deleting connectors
sagardg Jun 30, 2021
9c03947
Merge pull request #10 from digitalgreenorg/docker_client
sagardg Jun 30, 2021
85a8425
Merge branch 'mayank/fix/uc-spring-boot' into main
sagardg Jun 30, 2021
bac32b5
changed log path
sagardg Jun 30, 2021
eb5bb34
Update install.sh
sagardg Jul 6, 2021
5856cc8
Flow and Configuration first phase completed
enigmaticmahesh Jul 9, 2021
9fe40c4
Merge pull request #11 from digitalgreenorg/sb_test
Jul 9, 2021
271097a
Configuration Added on Modal
enigmaticmahesh Jul 9, 2021
7dbad23
Improved Some code
enigmaticmahesh Jul 12, 2021
ce0aa4f
GitBook: [main] 2 pages modified
Jul 13, 2021
e2fdba6
Added Single Storage Data for Configuration Flow
enigmaticmahesh Jul 13, 2021
36b2a22
Small change of text(consumer)
enigmaticmahesh Jul 13, 2021
9705358
Custom Modal Component Added for reusability
enigmaticmahesh Jul 15, 2021
d197d9f
Latest trusted connector fix
Jul 24, 2021
1eac137
Refactored Steps Data Handling and Commit Previous Design Changes
enigmaticmahesh Jul 26, 2021
07606ea
Removed unused previous components and finished Source Tab
enigmaticmahesh Jul 26, 2021
2816af6
Completed Destination Tab
enigmaticmahesh Jul 26, 2021
a13f5d9
Sample NodeJS added, prepareConsumerApp changed
mgautam099 Jul 26, 2021
9451dfc
action fix
mgautam099 Jul 27, 2021
830bb46
Completed Configure Policy Tab
enigmaticmahesh Jul 27, 2021
c1f229f
Provider Consumer Connector Page Completed
enigmaticmahesh Jul 27, 2021
483a274
Completed the Connector & Provider with some Design Pending
enigmaticmahesh Jul 27, 2021
acac78e
NodeJS minimal dockerfile
mgautam099 Jul 27, 2021
29fcc67
Nodejs dockerignore file
mgautam099 Jul 27, 2021
8081673
GitBook: [main] 18 pages and 10 assets modified
Jul 27, 2021
fe1a4f6
GitBook: [main] one page modified
Jul 27, 2021
0ae4f25
GitBook: [main] one page modified
Jul 27, 2021
200b7b5
GitBook: [main] 2 pages modified
Jul 27, 2021
7bc057a
GitBook: [main] 5 pages modified
Jul 27, 2021
67145a0
Script changes
mgautam099 Jul 27, 2021
a45e828
Added Form Validation in Source & Destination Tab
enigmaticmahesh Jul 28, 2021
cf45f52
Removed previous After Configuration View
enigmaticmahesh Jul 28, 2021
fa48f26
GitBook: [main] one page modified
Jul 28, 2021
b1db43c
Step buttons aligned to the end
enigmaticmahesh Jul 30, 2021
691a6de
Connector icon and Persistent Step data on step change completed
enigmaticmahesh Jul 31, 2021
b64c401
Application Page Layout Completed
enigmaticmahesh Jul 31, 2021
281c504
Single source of Data implemented
enigmaticmahesh Aug 1, 2021
f2927a1
Code optimized and Route view changed according to Route Details
enigmaticmahesh Aug 2, 2021
c981695
Completed Steps UI changes fixed
enigmaticmahesh Aug 2, 2021
afed7e8
Create LICENSE
razak0405 Aug 5, 2021
69a7ef4
Context change optimization along with route data addition on complet…
enigmaticmahesh Aug 6, 2021
07174ec
Completed New Route Addition Functionality
enigmaticmahesh Aug 6, 2021
13aec8c
Tested with single route
enigmaticmahesh Aug 6, 2021
1a157a7
Update License information in Readme
Aug 8, 2021
1321d86
Sidebar Design Completed
enigmaticmahesh Aug 9, 2021
4cf67a5
Edit Route And Step Changes Issue Fixed
enigmaticmahesh Aug 9, 2021
ff138f2
Steps click removed
enigmaticmahesh Aug 9, 2021
b5e1160
Optimized Connector Map Graph CSS
enigmaticmahesh Aug 10, 2021
2a5ad03
Image optimized
enigmaticmahesh Aug 10, 2021
cd83109
Changed icons and old and new route issue fixed
enigmaticmahesh Aug 11, 2021
7380db1
Mysql and postgres connectors
mgautam099 Aug 24, 2021
6bfff49
provider container
mgautam099 Sep 19, 2021
f964075
Merge branch 'mahesh_new_ui_07_07_2021' into mayank/new/videolibconne…
mgautam099 Sep 19, 2021
a0fe785
route 2 update
mgautam099 Sep 20, 2021
7825e9f
docker code changed
mgautam099 Sep 20, 2021
587db39
docker hash change
mgautam099 Sep 20, 2021
50f1d8d
docker update
mgautam099 Sep 20, 2021
9bd2a8d
Gsheets connectors created
mgautam099 Sep 21, 2021
54f71e6
Gsheet uri change
mgautam099 Sep 28, 2021
f4ccf95
gsheet lib hash change
mgautam099 Sep 28, 2021
5a3da2b
provider route 2 rename
mgautam099 Sep 28, 2021
04d1b85
Consumer routes example for video lib connector
mgautam099 Sep 29, 2021
b327f55
deleted python compile files
mgautam099 Sep 29, 2021
8b34690
gsheet lib fix
mgautam099 Oct 4, 2021
6012ca6
Video Lib connector server and client changes
mgautam099 Oct 4, 2021
70b1787
Merge pull request #14 from digitalgreenorg/mayank/new/videolibconnector
Oct 4, 2021
0dcc51a
video sleep timer change
mgautam099 Oct 4, 2021
ddc4bab
Merge pull request #15 from digitalgreenorg/mayank/new/videolibconnector
Oct 4, 2021
b3e9f88
readme changes
mgautam099 Oct 4, 2021
576aa2c
Merge pull request #16 from digitalgreenorg/mayank/new/videolibconnector
Oct 4, 2021
ba423a3
code cleanup
mgautam099 Oct 23, 2021
1a6b3f1
tabular consumer fix
mgautam099 Oct 25, 2021
1d8eedd
Merge pull request #17 from digitalgreenorg/mayank/update/cleanup
Oct 26, 2021
b524f86
muti-connector update for gsheets
mgautam099 Oct 26, 2021
5dadc90
multiarch changes to provider
mgautam099 Oct 26, 2021
d679db7
updated sha256
mgautam099 Oct 26, 2021
f1bca3b
multi arch fix
mgautam099 Oct 28, 2021
b9a8dba
Added support for custom server arguments (e.g. port)
milux Oct 27, 2021
7a427e6
Fixed data sync route for gsheets.xml
milux Nov 18, 2021
490a3ca
Fixed data sync route for display-table.xml
milux Nov 18, 2021
7316ee5
Adapted processor class paths for TC change
milux Nov 22, 2021
2197891
syncing localhost fix
Dec 6, 2021
b0abe89
Merge pull request #18 from digitalgreenorg/mayank/feature/multi-arch
Dec 6, 2021
8d36f1b
Certificate update
Dec 16, 2021
657e6d9
Reorganised connectors
Dec 16, 2021
c17d02e
CSV connector created
Dec 16, 2021
08d4d89
Connector digest update
Dec 16, 2021
13ea476
route name update
Dec 16, 2021
13dee9b
Merge pull request #19 from digitalgreenorg/mayank/new/csv-connnector
Dec 16, 2021
592cfb8
GitBook: [#20] Adding Video Library Setup Page
Jan 13, 2022
206e4db
CSV consumer changes
Jan 13, 2022
7e9f1c6
Gsheets file size fix
Jan 24, 2022
8930e8b
Revert to working version of usage control example
Jan 25, 2022
b3fa2f1
Update README.md
emmanuelnegash May 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitbook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
root: ./docs/

structure:
readme: ../README.md
summary: SUMMARY.md
28 changes: 28 additions & 0 deletions .github/workflows/example_uc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: UC Test Case

on:
push:
branches: [ main, mayank/new/github-actions ]
pull_request:
branches: [ main ]

workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Running setup script
run: ./scripts/examples/run-uc.sh

- name: Wait for connector to come online
run: sleep 60

- name: Checking for data transfer
run: ./scripts/examples/checkData.sh

- name: Stopping containers
run: ./scripts/examples/stop-uc.sh
19 changes: 19 additions & 0 deletions .github/workflows/self-managed-demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Self Connector Setup

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

# - name: Running setup script
# run: python3 setup.py
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,9 @@ dist
# TernJS port file
.tern-port

.DS_Store
.DS_Store

venv/
.venv/
.setup_complete
.idea
201 changes: 201 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
82 changes: 62 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,69 @@
### What is FarmStack?
FarmStack is a digital infrastructure that enables data collaboration between different entities. It does this by providing a means to:
1. Share data directly to the relevant organization without the need of third party through p2p connector (peer to peer connector)
2. Empower the data provider to specify how data can or cannot be used by the receiver through data owner defined usage policies
3. Enable organizations to make their data discoverable by publishing metadata (description of connectors and usage policies) and shareable through data interface containers
# Introduction

![](https://github.com/digitalgreenorg/farmstack-open/actions/workflows/example\_uc.yml/badge.svg)

![](docs/.gitbook/assets/farmstack\_horizontal\_color\_transparent-bg.png)

FarmStack is a reference implementation of an open and interoperable data sharing protocol in agriculture sector.

### Why is FarmStack required?
FarmStack is required because:
* Lack of trust on misuse or under utilization of data for centralized data repository
* Need to comply with evolving data policy and privacy safeguarding measures

### Value generated by FarmStack
* By combining specific datasets, better services or products can be created
* Potential to unlock value of data that was previously considered not shareable
* More the feedback from farmers is combined, more enriching the solution can be - giving rise to virtuous cycle
* Relevant farmer profile including farmer activity not available
* Lack of trust on misuse or under utilisation of data with a centralised data warehouse
* Need to comply with evolving data policy and privacy safeguarding measures
* Existing data integration tools lack the customisation

## Quick start

```bash
git clone https://github.com/digitalgreenorg/farmstack-open.git
cd farmstack-open
python3 setup.py
```

In browser, open: [http://localhost:8000/](http://localhost:8000) and follow the instructions

For more details see [local deployment](docs/deploying-farmstack/local-deployment.md).

Requirements:

* Python3.6+
* Docker Desktop (for MacOS and Windows with wsl2).
* Docker and Docker Compose for ubuntu

## Deployment and Guides

You can see FarmStack in action by [Setting up Video Library Connector](docs/deploying-farmstack/setting-up-video-library-connector.md) for fetching data from [Digital Green's Video Library](https://solutions.digitalgreen.org/videos/library).

Or you can follow one of our step-by-step guide to setup your own connectors:

* [Configuring a connector with CSV file](docs/operation-guides/creating-a-connector-with-csv.md) 
* [Dockerizing applications to be compatible with FarmStack Connector](docs/operation-guides/dockerization/)
* [Install a dockerized application with a connector](docs/operation-guides/install-a-nodejs-application-with-connector.md)

## Features

FarmStack enables network of data providers and consumers through a suite of products and functionalities:

1. Share data directly without any third party through trusted **peer to peer (p2p) connector**.
2. Empower the data provider to restrict usage of data through **usage policies**.
3. Give control of data back to the farmers by managing consent using **data wallet**.
4. Enable entities to create plugins to make their **data discoverable (description of data)**.

FarmStack is the sum total of all the peer to peer connectors and associated usage policies.

For more information visit [our website](https://www.farmstack.co) or [Confluence Page](https://digitalgreenorg.atlassian.net/wiki/spaces/FS/overview).

## Contributing

We would love your contribution to this project no matter big or small.

To get started see our [contribution guide](docs/contributing-to-farmstack.md).

### How does someone use FarmStack
## Roadmap

Business roles in FS can be viewed as layered operational spheres:
* __FS Participants__ : These are stakeholders who are actually performing data exchange or providing some services for data exchange. This is mainly a data provider and data consumer
* __FS Central/ Steward__ : This is a nodal agency/ consortium who will run farmstack in that geography/ jurisdiction. They will operate the gateways for the participants. Examples could be MoA or a global consortium.
* __FS Core__: This is the technology stack that is maintained by DG and consortium based on IDS technology stack (Fraunhofer) which consists of the code repo under MIT/ Apache license. They will own the master services agreement - governance structure and the right to provision instance of FS central.
@TODO - Add Roadmap

#### Example:
Consider the diagram, there are two instances of FS run by two independent central bodies in different jurisdictions. Let us say MoA of Country1 and Country2 run separate instances of FarmStack C1 and C2 which have participants P1… Pn who do data exchange between each other. By provisioning FS, C1 and C2 run FS on their server in addition to managing the organizations.
## License

<img src="FS-business sphere.png" height="250">
Farmstack is licensed under Apache License 2.0. See [LICENSE](https://github.com/digitalgreenorg/farmstack-open/tree/576aa2ca789cd6910b3aee1d7ebd9cce08d73cf6/LICENSE/README.md) file for licensing information
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/.gitbook/assets/csv-image-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/.gitbook/assets/csv-image-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/.gitbook/assets/snapshot-1.png
22 changes: 22 additions & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Table of contents

* [Introduction](../README.md)
* [Quick Start](quick-start/README.md)
* [Deploy Farmstack](quick-start/deploy-farmstack.md)
* [Removing farmstack](quick-start/removing-farmstack.md)
* [Deploying Farmstack](deploying-farmstack/README.md)
* [Installing Prerequisites](deploying-farmstack/installing-prerequisites.md)
* [Setting up Self-Managed Connectors](deploying-farmstack/setting-up-self-managed-connectors.md)
* [Setting up Video Library Connector](deploying-farmstack/setting-up-video-library-connector.md)
* [Local Deployment](deploying-farmstack/local-deployment.md)
* [Deployment on AWS EC2](deploying-farmstack/aws-ec2.md)
* [Guides](operation-guides/README.md)
* [Configuring a connector with CSV](operation-guides/creating-a-connector-with-csv.md)
* [Configuring a connector with JSON/Rest API](operation-guides/configuring-a-connector-with-json-rest-api.md)
* [Configuring a connector with Google Sheets](operation-guides/configuring-a-connector-with-google-sheets.md)
* [Dockerization](operation-guides/dockerization/README.md)
* [NodeJS](operation-guides/dockerization/dockerization-nodejs.md)
* [Django](operation-guides/dockerization/dockerization-django.md)
* [Flask](operation-guides/dockerization/dockerization-flask.md)
* [Install a dockerized application with connector](operation-guides/install-a-nodejs-application-with-connector.md)
* [Contributing to FarmStack](contributing-to-farmstack.md)
4 changes: 4 additions & 0 deletions docs/contributing-to-farmstack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Contributing to FarmStack

Thank you for your interest in contributing to FarmStack, currently we are building our contribution guidelines. Meanwhile you can contact us on our [website](https://www.farmstack.co) and [confluence](https://digitalgreenorg.atlassian.net/wiki/spaces/FS/overview).

2 changes: 2 additions & 0 deletions docs/deploying-farmstack/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Deploying Farmstack

2 changes: 2 additions & 0 deletions docs/deploying-farmstack/aws-ec2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Deployment on AWS EC2

Loading