Taberu is a food ordering app that makes ordering food and drinks easy, secure, and rewarding. Customers can also earn rewards such as loyalty points and discounts.
Taberu is an easy-to-use food ordering app that rewards customers through loyalty points and discounts. In the current form, it can be used as a base template for anyone to create their own Web3-powered online stores and can act as interface in an ordering kiosk, or from a customer's desktop or mobile phone.
Built on Base and Optimism (deployed to both mainnets and testnets) and my first time deploying to L2s, this app is blazing fast when pushing transactions into the chains. This, coupled with server-side rendering whenever possible with Next.js, React and Typescript, translates to reaaaaally fast feedback to the user when ordering their food on the app.
The deployed contract, LoyaltyProgram
, is used to store how many points a user has in a mapping. Ideally, these points should be stored only in one chain, using LayerZero to communicate between the chains. This contract allows for redeeming of points, and the deployed version lets users redeem 10% worth of ETH they spent in a store back into their account.
To retrieve on-chain data, I used basescan.org, optimistic.etherscan.io and Covalent's robust set of API endpoints (the no. of chains supported now is 🤯). Kudos to wagmi.sh for making reading and writing easy on the chain.