docs(ROADMAP): add ROADMAP.md file to document the current state of the project and the next steps.

This commit is contained in:
ryan 2025-01-13 15:51:24 +03:00
parent 92973b4a4d
commit f667327616

62
ROADMAP.md Normal file
View file

@ -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.