refactor: move authentication JS to external file, add book description persistence, and implement semantic search fallback tests
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# 📖 Nexus Reader
|
||||
|
||||
Nexus Reader is a state-of-the-art, cross-platform Blazor .NET 10 immersive e-book reader, powered by **Native AOT**, **Clean Architecture**, **CQRS**, and interactive **D3.js Relationship Graphs** built on vector-based AI semantics.
|
||||
|
||||
---
|
||||
|
||||
## ✨ Features & Architecture Highlights
|
||||
|
||||
### 📁 Ingestion & Description persistence
|
||||
- Extracted and persistent **book descriptions** from EPUB package metadata during book ingestion.
|
||||
- The `Description` field propagates cleanly from the `Ebook` entity through Mapster to `LastReadBookDto` and `UserProfileDto`.
|
||||
|
||||
### 🔗 Deep-Link Routing
|
||||
- Implemented deep-link route activation: `/reader/{bookId}?chapter=N`.
|
||||
- Allows instant resume of reading session coordinates and loads the specific chapter chapter directly via URL query parameters.
|
||||
|
||||
### 🛡️ Downstream AI Resilience
|
||||
- Standard resilience engine in `DependencyInjection.cs` utilizing the **Polly** package (`ai-retry`).
|
||||
- Automatically intercepts, handles, and retries on both rate-limits (`429 Too Many Requests`) and downstream capacity overloads (`503 ServiceUnavailable` / `high demand`).
|
||||
|
||||
### ⚙️ Concurrent Request Deduplication
|
||||
- Multi-client InteractiveAuto Blazor circuit synchronization is backed by a thread-safe active task registry in `KnowledgeService` which ensures that identical concurrent requests await a single shared task instance, eliminating redundant LLM queries.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Build & Verification Gate
|
||||
|
||||
Ensure the dotnet workload matches the active SDK, and compile the full solution utilizing:
|
||||
|
||||
```bash
|
||||
dotnet build NexusReader.slnx --no-restore
|
||||
```
|
||||
|
||||
Run test suite:
|
||||
|
||||
```bash
|
||||
dotnet test --no-restore
|
||||
```
|
||||
Reference in New Issue
Block a user