Hotel-ETH - A Bed and Breakfast dApp run on Ethereum. Includes a token + schedule system (Solidity) and full front-end (React + ethers.js) built with Hardhat

Overview

Hotel ETH - Watch Demo Video

Hotel ETH

A (fictional) Bed-and-Breakfast run on Ethereum
Come Book a Room on Kovan or Rinkeby Networks
View the Demo »
Contact Lamby · Report Bug · LinkedIn

Table of Contents

  1. About The Project
  2. Getting Started
  3. Contact
  4. License

About The Project

Hotel ETH is demo project showcasing how a traditional, fixed-price business could be run on Ethereum.

Key features include:

  • An ERC-20 token
    • can be purchased in advance with ETH at a fixed USD price (using Chainlink pricing oracles)
    • can be redeemed for a night at the Hotel (1 token = 1 night).
    • can be refunded to users after redemption if the booking is in the future
  • A full reservation and business management system built with Solidity.
    • owners can change the fixed USD price of tokens (similar to how hotel rates change)
    • owners receive any proceeds (in ETH) at time of sale
    • owners can mint / burn tokens freely
  • A full front-end interface built in React + Ethers.js
    • users can purchase tokens at a price set by the owner (paid in ETH)
    • users can redeem + refund tokens used to book reservations at the Hotel
    • users can see / check availibilty at the hotel and view all of their previous reservations
    • the UI dynamically updates when other users make reservations at the Hotel
    • the UI/UX performs automatic field + action validation
  • A development pipelines built for local, rinkeby, and kovan network environments.

This project is meant for educational purposes only, but in theory you could extend the functionality to run a real (or virtual) business with the underlying infrastructure.

Built With

Getting Started

Install MetaMask

You will need an Ethereum wallet installed to use the demo or run this project locally. I recommend MetaMask.

Obtain Test ETH

Obtaining test ETH is harder than it should be. I recommend the Chainlink faucet.

Buy, Redeem and Refund Tokens

You can purchase tokens in the app after connecting your wallet. the Price is set by the Hotel Owner and is paid in ETH.

The app is deployed on Kovan and Rinkeby networks.

Running Locally

For Developers

  1. Clone the repo

    git clone https://github.com/LambyPants/Hotel-ETH
  2. Install NPM packages

    npm install
  3. Run local blockchain + development server

    npm run dev

    To deploy your own version of the app, you need to fill in the keys.js file generated for you on install:

    module.exports = {
      DEPLOY_PRIVATE_KEY: '',
      ALCHEMY_API_KEY_RINKEBY: '',
      ALCHEMY_API_KEY_KOVAN: '',
    };

Contact

Ryan (Lamby) Lambert - [email protected]

View my other projects: https://github.com/LambyPants

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

You might also like...
NFT Marketplace prototype using Typescript, WalletConnect, Metamask, Web3, Solidity, React and Storybook

ERC721 NFT Marketplace Prototype of a NFT Marketplace based on openZeppelin abstract upgradeable ERC721 contracts and Minting/uploading images to IPFS

A reference project to build a React Redux app in TypeScript, and deploy to GCP Cloud Run

A reference project to build a React Redux app in TypeScript, and deploy to GCP Cloud Run

Write components once, run everywhere. Compiles to Vue, React, Solid, Angular, Svelte, and more.
Write components once, run everywhere. Compiles to Vue, React, Solid, Angular, Svelte, and more.

Write components once, run everywhere. Compiles to: At a glance Mitosis is inspired by many modern frameworks. You'll see components look like React c

A Remix stack setup to run on Deno with support for Rust WASM modules!

Remix + Deno + Rust - Webassembly - The Air Metal Stack Welcome to the Air Metal Stack for Remix! 🦕 + 🦀 This stack is a good choice if you want to

A plug-and-play hook that will send data about Ethereum contract interactions straight to FullStory
A plug-and-play hook that will send data about Ethereum contract interactions straight to FullStory

use-fullstory-web3 Automatically record web3 events into FullStory useFullStoryWeb3 is a plug-and-play hook that will send data about Ethereum contrac

This Project is a fork of Ethereum Boilerplate and demonstrates how you can build your own NFT Rarity Ranker.
This Project is a fork of Ethereum Boilerplate and demonstrates how you can build your own NFT Rarity Ranker.

This Project is a fork of Ethereum Boilerplate and demonstrates how you can build your own NFT Rarity Ranker.

Ethereum nft marketplace template using react

ethereum-marketplace-template ⭐️ Star us If this boilerplate helps you build Ethereum dapps faster - please star this project, every star makes us ver

Ethereum's missing NFT swap library for web3 developers. Written in TypeScript. Powered by 0x.
Ethereum's missing NFT swap library for web3 developers. Written in TypeScript. Powered by 0x.

NFT Swap SDK _The missing NFT swap SDK for Ethereum and EVM compatible chains, powered by the 0x protocol, written in TypeScript for web3 developers.

Example implementation of how to implement Sign In with Ethereum
Example implementation of how to implement Sign In with Ethereum

Sign in with Ethereum authentication flow A basic example of how to create an authentication flow using Next.js, public key encryption, and an Ethereu

Owner
Ryan Lambert
Ryan Lambert
null 1 Apr 28, 2022
Library for interacting with RMM protocol through ethers.js.

?? rmm-ethers Easily connect and transact with RMM protocol. ?? Features ?? Deploy RMM protocol ⚡️ Easily connect to an RMM deployment ?? Create RMM p

Primitive 14 Nov 13, 2022
Here is the front end using react for our django backend and api

React_Frontend- Here is the front end using react for our django backend and api make sure ou have node and npm from command line node -v npm - v need

null 1 Dec 10, 2021
Open Source Module to Upload your Media and files into AWS S3 Bucket directly from Front-end React

react-aws-s3 Open Source Module to Upload your Media and files into AWS S3 Bucket directly from Front-end React. Help the Module developer (Amit Mishr

Amit Mishra 48 Nov 3, 2022
Calypso is the new WordPress.com front-end – a beautiful redesign of the WordPress dashboard using a single-page web application

Calypso is the new WordPress.com front-end – a beautiful redesign of the WordPress dashboard using a single-page web application, powered by the WordPress.com REST API. Calypso is built for reading, writing, and managing all of your WordPress sites in one place.

Automattic 12.2k Dec 30, 2022
Front-end da aplicação JavaScript Notes. Um gerenciador de notas, um organizador de ideias, textos ou até lembretes para desenvolvimento pessoal. Inspirado em aplicações como Evernote ou Microsoft OneNote.

?? Sobre o projeto YourNotes é um gerenciador de notas, um organizador de ideias, textos ou até lembretes para desenvolvimento pessoal. Inspirado em a

Bruno Filho 5 Dec 28, 2022
This is used for minting NFTs and getting metadata , token owner, wallet address assigned to an NFT, just check it out and enjoy

nft-minter A Heroku web server to easily mint non-fungible tokens via an API Example Configuration: Blockchain: Ethereum Testnet: Rinkeby Contract: ER

John Oseni 9 Aug 24, 2022
How to mint your own NFT token with react

Mint your own basic off chain NFT Description This project teaches you how to mint your own NFT token. Here are some important packages that we will b

null 6 May 17, 2022
SpaceCoin token liquidity pool

SpaceCoin token liquidity pool

Sunny Vempati 1 Mar 29, 2022
JWT generator - An open-source JSON Web Token (JWT) generator created by enabler

JWT generator An open-source JSON Web Token (JWT) generator created by enabler View Demo · Report Bug JWT generator allows you to generate JWT in an e

Enabler AS 3 May 31, 2022