Giter Site home page Giter Site logo

dog-adoption-dapp's Introduction

This is a dog adoption dApp (decentralized application) based on my Dog Adoption Smart Contract. A dog owner (someone from animal rescue organization) posts a dog for an adoption (dog owner info and dog picture) via Ethereum smart contract. A dog owner should be certain that a possible dog adopter already owned a dog (dog adopter info and dog picture) before bringing a new dog home.

The frond end of the app is built with Nuxt.js (framework for Vue.js apps) and will make use of Vuetify.js component framework for Vue.js.

Truffle is chosen as a development environment to make smart contracts compilation, development, testing easier.

A dog owner info and picture will be stored on IPFS (Interplanetary File System) as Ethereum is too heavy/expensive to store large blobs like images, video etc.

Ganache is chosen to make DApp development faster.

App will be deployed to Rinkeby test network. Also, how to request more ether on Rinkeby for testing purpases.

We will not install a Geth or Parity node on our computer as it is not that easy and is time consuming. Instead, we will use Infura which is a Hosted Ethereum node cluster that lets your users run your application without requiring them to set up their own Ethereum node or wallet.

The app will make use of Metamask browser extension which turns Google Chrome into an Ethereum browser, letting websites retrieve data from the blockchain, and letting users securely manage identities and sign transactions.

You can deploy contracts to any network and test it without changing a single line of dApp code! (no hard-coded contract address). The app also works in view mode. In view mode Metamask is not installed but you still can view pages though you cannot make transactions.

Dog Adoption Application (dApp) is hosted on Firebase - https://dog-adoption-faf7b.firebaseapp.com/

To get started.

       To deploy contracts to Ganache, first run Ganache UI then navigate to project's 
       'ethereum' folder and run 'truffle migrate --reset' command. It will generate 'build'
       folder right under 'ethereum' folder and will deploy your contracts to Ganache.
       
       To deploy contracts to Rinkeby test network go to 'ethereum' folder (do not forget to 
       create mnemonic.js file and specify 12-word mnemonic which is described below) and run 
       'truffle migrate --network rinkeby --reset' command.It will generate 'build' folder
        right under 'ethereum' folder and will deploy your contracts to Rinkeby test network. 
       

       Clone the repository
   
       git clone https://github.com/Ashot72/Dog-Adoption-dApp.git
       cd Dog-Adoption-dApp
       
       # install dependencies
       npm install OR yarn install
       
       # serve with hot reload at localhost:3000
       npm run dev OR yarn run dev
       
       # build for production and launch server
        npm run build OR yarn run build
        npm start OR yarn start

Note, you should create mnemonic.js file in ethereum folder https://github.com/Ashot72/Dog-Adoption-dApp/tree/master/ethereum and specify your 12-word mnemonic (More in the description link below).

 module.exports = 'beach machine supply simple analyst trophy dirt naive blur alcohol essence hundred'

Go to Dog Adoption Smart Contract GitHub page

Go to Dog Adoption dApp with Ganache Video page

Go to Dog Adoption dApp on Rinkeby Test Nentwork Video page

Go to How to run Dog Adoption dApp page

Go to Dog Adoption dApp description page

dog-adoption-dapp's People

Contributors

ashotik avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

romanoing

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.