Git Product home page Git Product logo

blockchain-powered-procurement-system's Introduction

Blockchain-Powered-Procurement-System

This project was built as a solution to problem statement in SIH2020 - Smart India Hackathon 2020

Problem Statement BK225

GAIL procures most of the raw materials, items, office supplies and services through public procurement portal based on tendering system. We need to develop a Blockchain secured system to control this procurement process. As an example, Developer shall implement end-to-end process for Steel-pipes, that contains steps like A)procurement from Indian/Overseas vendor B)Shipping C) Transportation in intermediary points D) acceptance at GAIL store E) Payment to Vendor using smart contracts The implementation should use Open source technologies like Ethereum or equivalent and be able to show simple and good UI + clear documentation with out of the box thinking

Demo/Explanatory Video: Click me

Project Live On

To make it completely decentralized we have hosted the frontend on IPFS. But as IPFS is in its initial stages, the link takes too long to respond. So we also hosted it on central server "000webhostapp"
To see the App in action
For Procurement
For Supplychain

Instructions for Developer

  • Understanding
  • Running this repo on your local server
    • We have divided the functionalities in two different packages, i.e. Procurement and Supply chain
      (Note : Procurement is only about how company publishes tender, vendors make bid and company allots that tender while supply chain is about how item moves)
    • To run any of the package, you have to start HTTP server in that package
      there are many ways to do this, but we used to do it by python.
    • Example : Suppose you are in our repo, and you have to start Procurement server
      cd Procurement
      python -m SimpleHTTPServer 1337
      Visit localhost:1337 on your browser
    • Remember you need MetaMask installed on your browser
      Metamask doesn't connect with the site till you allow it.
      For this go to Settings > Connections > Addsite (localhost) > connect

    Smart Contracts

    • The smart contracts are deployed on ropsten test network
    • To access the App's functionalities you will need coins. Get free coins from faucet
    • If you want to see smart contracts for reference, I have added folder of smart contracts in repo, but it doesnt have any connection with project. I deployed smart contarts using remix on test network and called it by address using web3.js.

Advice If you are building your own dApp

  • Use truffle as a framework if possible, it makes development/testing/deployment easy
  • Ethereum takes time, for tx to get finalized even for test network as its public blockchain. Dont use public blockchain, if the main purpose of your DApp is getting consensus in participating nodes only. Use R3, Hyperledger Fabric or Enterprise ethereum. If you don't want to leave solidity and web3 use Enterprise Ethereum
  • If you are intrested in deployement of app on IPFS, See this
  • Use Skelton solidity code snippets Click me

blockchain-powered-procurement-system's People

Contributors

0xcuriousapple avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.