Cola Day 2022 - Room Booking System [PoC]
This application is a proof of concept for a room booking system for Cola Day 2022.
Demo
Features
- shows meeting rooms availability
- allows users to book meeting rooms by the hour (up to 4 hours per event)
- allows users to cancel their booking
- stores data in blockChain (Ropsten Test Network)
- encrypts event titles with public key encryption (end to end)
Usage
- On your browser, login to MetaMask and connect to Ropsten Testnet.
- Visit the demo site: https://coladay.vercel.app/
- Then, drag your mouse over the timetable to start booking rooms!
Note
- This web app is designed for Desktop/Laptop devices, not compatible with mobile browsers.
- Each time you create or delete an event on the blockchain, you will need Ethereum gas for the transaction.
- The event date is automatically updated to tomorrow for demo purpose.
Architecture
Dev setup
Contract
Set up secret keys & mnemonic phrase
$ cd truffle
$ mv secrets_template.json secrets.jsonThen, edit the secrets.json file with your own secret keys and mnemonic phrase:
- mnemonic -> use your account on testnet. To create a new account, run
$ npx mnemonics. - projectId -> use your project ID on Infura
- etherscanApiKey
Install dependencies
$ cd truffle
$ npm install
$ npm install -g truffle
$ npm install -g ganache-cliLocal Development with Truffle & Ganache
$ cd truffle
$ ganache-cli --accounts 10
$ truffle compile
$ truffle compile && truffle migrate --network developTest with Truffle
$ truffle test --show-eventsDeploy to Ropsten Testnet
$ truffle compile &&truffle migrate --network ropstenFront-end
Install dependencies
$ cd client
$ npm installStart React dev server
$ npm startBuild
$ npm buildOn this page
Languages
TypeScript37.1%SCSS29.7%JavaScript23.6%Solidity6.8%HTML2.9%
Contributors
MIT License
Created June 27, 2022
Updated August 9, 2022

