Ashot72 / Dog-Adoption-dApp

Dog Adoption Decentralized Application (dApp)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Dog Adoption Decentralized Application (dApp)


Languages

Language:Vue 53.1%Language:JavaScript 46.8%Language:CSS 0.1%