diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..e5335bc --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,62 @@ + +# CompareWare Roadmap + +## **Current Features** + +These features have been fully implemented: + +### **Autocompletion for Adding Items and Properties** +- Integrated Wikidata's search API to provide autocompletion for item and property inputs. + +### **Fetching Basic Information** +- Used Wikidata's REST API to fetch metadata for newly added items (e.g., description, tags). +- Automatically populated these fields in the spreadsheet after adding an item. + +### **Wikidata Autocompletion** +- Used Gloo's HTTP client to make calls to the Wikidata search API. + +### **App Component Updates** +- Added a placeholder grid view using Leptos’ `view!` macro. +- Rendered the comparison grid. +- Added functionality to fetch items' properties dynamically from Wikidata. + +### **Enhance ItemForm** +- Enabled searching for existing items via Wikidata. +- Displayed fetched details in the form. + +--- + +## **CompareWare: Next Steps** + +### **Immediate Steps** + +#### **Autocompletion for Adding Items and Properties:** +- Fetch all properties for items from wikidata. +- Autofill propertiy field with available properties for said item. +- Add a fallback to redirect users to the Wikidata item creation page when a search fails. + +### **Authentication** +- Enable authentication for users using Nsec.app. + +#### **Subjective Properties with Nostr Integration:** +- Add a toggle for "objective" (Wikidata) vs. "subjective" (Nostr-backed) properties. +- Store subjective properties locally first and publish them to a Nostr relay for decentralized edits. + +#### **Cache Mechanism:** +- Use a lightweight database (e.g., SQLite or a key-value store like Redis) as a cache for frequently accessed items and properties. +- Implement cache invalidation for edits to ensure the latest data is fetched. + +### **Advanced Features** + +#### **Advanced Filtering and Sorting:** +- Add functionality to filter items by tags or properties. +- Enable sorting by property values. + +#### **Item Suggestions:** +- Based on properties and tags, suggest items for comparison. + +#### **Collaborative Comparison:** +- Enable real-time collaboration with WebSockets, allowing users to view and edit comparisons together. + +#### **Export/Share Comparison:** +- Add options to export the comparison as a CSV or share it via a unique link.