Skip to content

Jalmeida1994/GatherChain-ARM-Template

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

GatherChain ARM Template

ARM template of the GatherChain solution.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

GatherChain is the solution created for my Master Thesis: Tracing Responsibility in Evolution of Model's Life Cycle in Collaborative Projects in Education in the Informatics' Department of NOVA School of Science and Technology made with professor Vasco Amaral's guidance. In the paper, it is proposed a blockchain-based solution for version control of model-driven engineering artefacts. The goal is to facilitate collaboration in a multi-user area,like the education field, and track changes in a trusted and secure manner. This solution is based on using the Hyperledger Fabric Network to govern and regulate file version control functions among students and teachers. This repository is a part of the larger GatherChain solution.

The other GatherChain projects are:

This repository serves as the Cloud infraestructure for the solution. It was chosen Azure for no particular reason. It can be made with any other Cloud provider or even on premises.

Built With

Product Name Screen Shot

The infraestructure of the solution is made of different resources. As mentioned in the last section, these resources are platform agnostic. These resources can be found in every major cloud provider and deployed in an on premises environment:

Getting Started

In this section it'll be shown how to get started with this solution. It is fixed the Azure cloud as the cloud environment for the solution. All the commands were tested with Azure.

Prerequisites

Installation

  1. Clone the repo

    git clone https://github.com/Jalmeida1994/GatherChain-ARM-Template.git
    
  2. Change the parameters in azuredeploy.parameters.json to your needs;

  3. Login to Azure in az if not logged yet

    az login
    
  4. Create the resource group (list of locations available with az account list-locations -o table)

    az group create --name ${resourcegroup_name} --location ${location}
    
  5. Deploy ARM template to the previously created resource group

     az deployment group create --resource-group ${resourcegroup_name} --template-file azuredeploy.json --parameters azuredeploy.parameters.json
    

Usage

After the template is deployed to your cloud provider of choice or on premises infraestructure, you should start the blockchain network using the admin commands found in the GatherChain Admin Commands.

For more information, please refer to the Documentation

Cleanup

To delete all the resources created use the az group delete command

 az group delete --name ${resourcegroup_name} -y

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

João Almeida - @João Almeida - [email protected]

Project Link: https://github.com/Jalmeida1994/GatherChain-ARM-Template

Acknowledgements