Skip to content

0xcuriousapple/Blockchain-Powered-Procurement-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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