46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
# CompareWare
|
|
|
|
CompareWare is an open-source platform for comparing tools (software, hardware, etc.) with structured, crowdsourced data. It combines **Leptos** for a modern, reactive frontend and **Nostr** for decentralized data storage.
|
|
|
|
## **Features**
|
|
- **Item Management**: Add, view, and manage items with metadata and key-value tags.
|
|
- **Nostr Integration**:
|
|
- Store and share data as Nostr events.
|
|
- Authenticate users with Nostr keys.
|
|
- **Future Features**: Reviews and a Web of Trust for collaborative insights.
|
|
|
|
|
|
## **Getting Started**
|
|
|
|
### Prerequisites
|
|
- Rust (latest stable version)
|
|
- Leptos framework
|
|
|
|
### Installation
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://forge.ftt.gmbh/ryanmwangi/Compware.git
|
|
cd compareware
|
|
```
|
|
2. Run the development server:
|
|
```bash
|
|
cargo leptos serve
|
|
```
|
|
3. Open your browser at [http://localhost:3000](http://localhost:3000)
|
|
|
|
## **Roadmap**
|
|
|
|
1. **Item Management** (In progress)
|
|
- Implement a form (`item_form.rs`) to allow users to add new items with metadata and key-value tags.
|
|
- Create a listing component (`items_list.rs`) to display and manage added items.
|
|
- Add backend functionality to validate and persist items using the Leptos framework.
|
|
|
|
2. **Review System** (To be implemented)
|
|
- Design a data model to handle reviews, including ratings, comments, and reviewer metadata.
|
|
- Build a user interface for submitting and viewing reviews linked to specific items.
|
|
- Integrate filters and sorting to display reviews based on relevance and ratings.
|
|
|
|
3. **Nostr Integration** (In progress)
|
|
- Use Nostr events for decentralized data storage, mapping item data to specific Nostr event types.
|
|
- Authenticate users through their Nostr keys for secure and decentralized access.
|
|
- Enable data sharing and synchronization with Nostr-compatible clients. |