Phone directory program. Algorand blockchain as a replacement for a sql table

Very new to developing dApps, but would like to develop a basic application that would work as a business directory where users could both submit contacts to a phonebook/directory as well as query the directory for business listings. Could someone point me in the right direction as far as architecting this and best practices? I know exactly how I would do this in the traditional database world, but again, blockchain development/architecture is very new to me.

I see some documentation about the “hash map” design pattern Hash Map Design Pattern | Algorand Developer Portal

However, I’m still a bit confused about how I would query other fields within the “table”. Is this possible without having a traditional database serve as a cache for the data on the blockchain?

Should I use an API service like PureStake?

Ideally, I’d like end users to pay for some of the features of this app with something like AlgoSigner.

Any feedback would be helpful.

Thank you!

Does this data need to be private? You could enter contacts using the notefield on a payment tx and not use smart contracts at all. Use the indexer to look up notes.
This tutorial needs to be updated but should give you the general idea.

Use the indexer to search:

1 Like