Today, when privacy has become a myth, we can't trust anyone with our data. We provide our valuable information to booking platforms, and they end up in either getting hacked or the platform selling our information. This project understands the value of user's data and respects their privacy. All the information uploaded on this platform by the user is encrypted and uploaded to swarm, which is a decentralised storage by ethereum. This upload generates qid which is uploaded to the blockchain by the user. Since only the contract knows the qid, no one can access it. Even if in the worst case, someone gets the qid, they still can't access the information because they don't have the key to decrypt it. When the user is registered, they have the option to make a booking. When they book an airline, the airline's address is uploaded on the blockchain. This denotes that a certain user has allowed a certain airline to access their information. When the airline wants to contact the passenger, it's access rights are first checked with blockchain. Only if they have the right, they can send a message or make a call and that too without viewing the user's data because everything is processed in the background. This makes user's data is so confidential that even the airline the user is flying with can't access their information. If some third party gets hold of the airline's database and wants to contact passengers, they still can't because they don't have the access. As soon as the booking completes, the user can log in and revoke the airline's access to avoid any future communication.
This application will make flight tickets cheaper as the storage costs will reduce by manifolds as the user's data won't be replicated. Though there will be blockchain transaction charges, the charges will be very minute compared to the ticket price and negligible in front of the user's privacy. The project is currently limited to airlines but can be expanded to all types of bookings.
Since this was my first time with tezos blockchain, I found it a bit difficult to go through the smart contract writing process. But once I understood it, it was fun. Smartpy makes it really simple to write Michelson smart contract in python.
Then invoking the contract from Tezbridge wallet was another challenge that the amazing Tezos community helped me resolve.
I was stuck retrieving data from swarm. It took me a complete day to finally find out how simple it was after reading the docs and playing around with JSON. I got stuck many times while working with react as the UI was malfunctioning and this is what took most of my time during development. But finally, I was able to resolve everything and make my project work as expected.