Rupabase is a web3 BaaS platform that empowers developers by providing them with DB instances managed by Rupabase itself and an intuitive and easy to use set of solidity methods to query databases.
Rupabase is a web3 backend as a service platform through which web3 developers can spin up database instances and abstracts away their management by providing a set of solidity methods to call to interact with the instances. This way developers get a multi purpose database which their dApps can access from anywhere - the frontend, smart contracts or any other backend involved. Project owners can add other smart contracts/wallets as having all permissions except creating databases, enabling access to the same database to different dApps on the same chain. Rupabase's architecture allows for ZERO EFFORT cross chain interoperability as the project owners just need to connect their wallet on a network to the admin portal frontend to get authorized on that chain and multiple dApps on same/different chains can access databases by calling chain-independent code. Rupabase doesn't stop here. By using data availability layers and rollups, we can enable on-chain databases for both on chain as well as off chain usage. Novel and community helping projects that can be made using Rupabase include a web3 based Machine Learning dataset collection platform, where different users initialize datasets, getting full control over that dataset and allowing others to put in more data. This will save huge time for researchers and engineers alike who otherwise have to scan through the internet, gathering different datasets uploaded by different users, combining them themselves. Rupabase can enable such a project so that dataset owners can add verified people to add more data to their datasets, helping the community
This project uses Chainlink Functions for hitting REST API endpoints on an off-chain server. Dynamic was used for login purposes and the design system was inspired by the Noun Foundation's design system. The admin portal was brought to life using ReactJS. We setup a contract deployed on the Sepolia testnet that can be called by any contract/wallet on the Sepolia testnet (we chose Sepolia testnot only for PoC purposes, Rupabase's smart contract can be deployed to all networks supported by Chainlink Functions as of now). Currently, logic for verifying users is out of the scope as it is not an innovative element of the project.
Using Chainlink functions turned out to be a learning experience as we faced errors not documented in the official documentation of the BETA feature, and Chainlink mentors' also got to know of the issues after contacting their core engineering team, after collaborative debugging sessions of me with them! Noun Foundation's design philosophy and helping the community track motivated us to think of the possible real life use cases of the project, involving a community based dataset platform for Machine Learning.