feat: introduce smart features for semantic search and related notes using Qdrant.

This commit is contained in:
2025-12-26 00:49:52 +01:00
parent c2a324b368
commit efb0f17a2e
2 changed files with 14 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ A modern, self-hosted note-taking application built with performance, security,
- **Rich Text**: Markdown support for note content.
- **Version History**: Track changes, view history, note diffs, download versions, and restore previous states.
- **Organization**: Tagging system for easy filtering.
- **Smart Features**: Semantic search and automatically generated related notes using local embeddings.
- **Theme**: Dark and Light mode support.
- **Responsive**: Mobile-friendly UI built with Tailwind CSS.
- **Architecture**:
@@ -25,6 +26,7 @@ A modern, self-hosted note-taking application built with performance, security,
- **Language**: Rust
- **Framework**: Axum
- **Database**: SQLite (Default) or Postgres (Supported via feature flag)
- **Vector Database**: Qdrant (for Smart Features)
- **Dependency Injection**: Manual wiring for clear boundaries
### Frontend
@@ -80,6 +82,16 @@ cargo run -p notes-api --no-default-features --features notes-infra/postgres
```
*Note: Ensure your `DATABASE_URL` is set to a valid Postgres connection string.*
**Feature Flags (Smart Features):**
The application includes "Smart Features" (semantic search, related notes) enabled by default. These require `fastembed`, `qdrant-client`, and `async-nats`.
To build/run **without** smart features (for faster compilation or lighter deployment):
```bash
cargo run -p notes-api --no-default-features --features sqlite
```
#### Frontend
1. Navigate to `k-notes-frontend`.