When going on a skiing trip, buying a skipass is very expensive. If the snow conditions are bad, it's money lost. Same for wind surfing without wind, or wavesurfing without waves. With our solution, customers can book up front with peace of mind, as they know that when there's bad weather conditions, they will be refunded by the smart contract.
The rental company on the other hand, can ensure their customers an honest price and refund, giving a lot more customer the confidence to book upfront, so they don't miss any potential customer.
What it does
The customer registers his interest in the rental of certain equipment (demo is a surfboard). First, we check if the board is still available for rent (equipmentAvailable function on the smart contract). If so, then we register the rental with the smart contract.
How I built it
It was built using remix and remixd for the smart contract, and HTML5 for the frontend.
Challenges I ran into
We were a team of 2 people with only remote communication over some chat applications. Also one of us never had any contact with blockchain or smart contracts, so a lot of time went into getting familiar with the concepts and following basic tutorials to get some transactions signed. Nevertheless, we were able to deliver the full flow just in time!
Accomplishments that I'm proud of
The full end-to-end solution, from front end to smart contract and chainlink oracle (honeycomb node) and back!
What I learned
When working in team, remote is not always the easiest. Sitting next to each other would have probably reduced the time in half, and have reduced the time lost on trying to understand smart contract interactions by a massive amount. Nevertheless, clear instructions and agreements between team members helped us deliver in time!
What's next for easyRental
Many todos! Currently there's just hardcoded equipments for long and short surf boards, however the contract could be used for any kind of rental (skipass, snowboard, pop up store location at the beach,..). a CRUD to manage the equipment is a first next step. On the Smart Contract side, extending the rental over multiple days is the first thing to add (we actually had that first, but the epoch seconds conversion to strings for the honeycomb API were too hard to code in solidity, we had a lot of support on discord from the community here but we lost 2 weeks of time on trying this. Hence, we reverted to a single day rental in string format. Next step is to get this fixed!)