Hello All,
I want to create a community based chat app. Does anyone have any recommendations on how to set up the backend infrastructure. More specifically, answer the following questions:
- Which data structure is best for storing chat history in stable memory
- Which data structure is best for storing user profile information in stable memory
- Should I create separate canisters for each different “storage” canister? For example, one canister to handle storage of user information, one canister to handle storage of chat history and so on.
- Should each chat created be managed by its own canister? Or is that overkill?
I am new to development on ICP and am more used to handling data storage with traditional databases like MongoDB. Any help on how I could outline my database infrastructure would be greatly appreciated. As you can probably tell from the questions I am most curious about the best data structures to use for effective querying and how many canisters I should be using to handle this data storage. If anyone has any helpful experience from their development some advice would be greatly appreciated. Thank you.