# Rich-data applet ## User stories - As a member in the network, I should be able to create new inquiries - Properties of an inquiry - Prompt - List of questions -> quantitative indexing - As a member in the network, I should be able to see a list of all creates inquiries - As a member in the network, I should be able to see the detail of an inquiry - If I haven't answered the inquiry, I should be prompted to answer it - If I have answered the inquiry, I should be able to see its results ## Rich-data DNA ### Rich-data zome ```rust #[hdk_entry_helper] struct Inquiry { prompt: String, questions: Vec<String> } #[hdk_entry_helper] struct MicroNarrative { inquiry_hash: ActionHash, narrative: String, answers: Vec<u32> } ``` Example: - Inquiry1: - Prompt: What has been your experience like in the holochain community? - Questions: - How many years have you been actively developing software? - Was it easy to get involved in the community? - How active are you in the holochain community? - MicroNarrative for Hedayat: - narrative: `Hey so I love it so much I spend a huge amount of time making sure everyone feels welcomed and [Hedayat is so awesome that he will put modest things here but he's so important in the community]` - answers: 20, 4, 10 - inquiry_hash: Inquiry1 ```mermaid graph TD ALL_INQUIRIES ALL_INQUIRIES-->INQUIRY1 ALL_INQUIRIES-->INQUIRY2 INQUIRY1-->|answers1|MICRONARRATIVE1 INQUIRY1-->|answers2|MICRONARRATIVE2 ``` ### Zome calls - `get_all_inquiries() -> Vec<Record>` - `get_micro_narratives(inquiry_hash: ActionHash) -> Vec<Link>` - `evaluate_narrative(micro_narrative_hash: ActionHash, answers: Vec<u8>) -> Vec<Link>` - `get_micro_narrative(micro_narrative_hash: ActionHash) -> Record`