Giter VIP home page Giter VIP logo

bootcamp-project's Introduction

Online Marketplace using Blockchain and React

1. About the Project

The Project deliverables is to Create an online marketplace that operates on the blockchain while learning the concept of blockchain and applying these concepts using solidity language.

There will be list of stores on a central marketplace where shoppers can purchase goods posted by the store owners. Contract market place will be manage by a group of administrators.Store Owner can manage their inventories and funds. shoppers can visit stores and purchase goods that are in stock using cryptocurrency.

Project Requirements

Smart Contract Requirements

  1. Should be A Truffle Project
    • prerequisites:
      install node : node -v install truffle : npm install -g truffle
      install ganache-cli install dependencies: npm install
    • compile the application: truffle compile
    • deploy to ganache: * truffle migrate *
    • install react dependencies: npm install
    • start front end server : npm start
  2. Smart contracts with the following requirements
    1. Properly Docuemented
    2. Have a circuit breaker design pattern and at least one other design pattern in Module 10 Lesson 1 For Details Please check Design Pattern Decisions
      1. Circuit Breaker
      2. Fail Early Fail loud
      3. Restricting Access
      4. State Machine Pattern
      5. Pull over push Payment
    3. Have security features to protect against at least two attack vectors outlined in Module 9 Lesson 3. Please check avoiding common attacks
      1. SaftMath to prevent underflow or overflow
      2. Prevention of Re entrancy attack
      3. Avoiding tx.Origin
      4. Considering the use of transfer() , send() and Call()
    4. Use a library (SafeMath.sol, etc) or extend another contract
      1. SafeMath to avoid underflow or overflow
      2. Ownable and Pausiable to extend the contract to implement circuit breaker pattern

Front End Requirements

  1. Have a development server to serve the frontend interaction of the application locally
    • Can run on localhost:3000 and interact with the backend blockchain infrastructure
  2. Frontend should work with web3.js / ethers.js, Infura and MetaMask to:
    1. Recognize and display current MM account
      • Already available in the header
    2. Sign transactions that change a deployed contract’s state using MetaMask
      • Avaialable in the Application . Application refresh needed
    3. Reflect the successful state change in the UI Application Details
    4. All features avaialable in here

Test Requirements

Deployment to TestNet

Application video

check the dapp tour here

Additional

  • IPFS to store Product Image and Seller logo

bootcamp-project's People

Contributors

abdullahqayum avatar

Watchers

 avatar

bootcamp-project's Issues

Great job!

Hey Abdullah,

Great job on building an excellent project! I really appreciated the interface and clean deployment of contracts locally. All of this is really impressive!

Also, really great documentation.

Congratulations!

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.