Skip to content

final-project-AndyWatt83 created by GitHub Classroom

Notifications You must be signed in to change notification settings

AndyWatt83/tender-manager

Repository files navigation

ConsenSys Course Final Project

Travis

This application was developed as the final project for the Consensys Academy developer program.

Author: Andy Watt

Email: [email protected]

Description

This project is a proof of concept application for a distributed and anonymous tendering process.

There are two primary actors in this system. These are:

CLIENT - Is an individual or company who submits a tender to have some work done, and invites bids on the tender. The client pays the winning bidder to carry out the work.

BIDDER - Is an individual or company who responds to live tenders, by posting a bid on the work. The bidder is paid by the client as defined by the payment terms contract.

This system - when fully fleshed out - would allow a company to post a tender on the Ethereum network. Bidders could then browse the available tenders through a web front end, and annonmously place bids on the tenders. The client could then view the bids, and indicate the winner by issuing a transaction through a smart contract.

The documents describing the tender requirememts are stored on IPFS with the hash of the file stored in the smart contract. Likewise, the bid submissins are stored on IPFS and linked to the tender by the hash.

Ideally, uPort would be used to authenticate the clients and the bidders, but at this stage that is not implemented.


Running the application

To run this project, you must have the following installed:

  • git
  • npm
  • truffle
  • ganache (GUI, not CLI)
  • metamask
  • Visual Studio Code (or other text editor)

To evaluate this project, please:

  1. Open the Ganaceh gui (running on port 7545)
  2. Ensure that metamask is connected to your instance of ganache
  3. git clone https://github.com/dev-bootcamp-2019/final-project-andywatt83
  4. cd final-project-AndyWatt83
  5. npm install
  6. truffle compile
  7. truffle migrate
  8. truffle test
  9. cd app
  10. npm install
  11. npm run start

The user interface will then load.

Instructions for using the UI, are included in the UI.


About

final-project-AndyWatt83 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published