Skip to content

Conversation

@fboucher
Copy link
Owner

@fboucher fboucher commented Sep 26, 2025

Fix: #69
Adds AI-powered introduction paragraph generation using the Reka API.

This enhancement provides a more engaging and informative summary for blog posts by automatically generating an introduction paragraph.

Key changes:

  • Introduces a new NoteBookmark.AIServices project containing the SummaryService for interacting with the Reka AI API.
  • Implements intro paragraph generation in the Blazor app's SummaryEditor component.
  • Adds Docker support for both API and Blazor App with docker-compose.
  • Configures API key via environment variables for secure access.

fboucher added 7 commits July 28, 2025 09:01
Bumps various package versions to pick up latest features and bug fixes.
Specifically updates Aspire, Azure, FluentUI, Markdig, and other dependencies
in the API, Blazor app, and test projects.
Introduces Dockerfiles for the API and Blazor applications,
enabling containerization for easier deployment and scaling.

Includes a Docker Compose file for orchestrating the API and
Blazor services, simplifying local development and testing.

Adds a GitHub Actions workflow to build and push Docker images
to Docker Hub on pushes to the main branch, and on pull requests.

Also includes a PowerShell script for local building and pushing
of the docker images.
Addresses issues with URL encoding/decoding and error handling during post extraction.

- Decodes the URL before extracting post details to handle encoded characters correctly.
- Implements error handling during HTML document loading to prevent application crashes when a page fails to load.
- Changes the Blazor app to send the URL as a request body instead of a query parameter.
- Disables launching the browser when debugging.
Introduces a client to interact with the Reka API.

Creates endpoints to generate introductory paragraphs,
but the core logic is currently unimplemented.
Adds an AI service to generate summaries for blog posts. This includes:

- Introducing new classes to handle responses from the Reka AI API.
- Implementing a SummaryService to interact with the Reka AI API.
- Adding configuration for the Reka API key.
- Integrating the AI service into the Blazor application to generate intro paragraphs for reading notes.

Removes the old Reka client and endpoints from the API project.
Adds Reka AI service integration for generating introductory paragraphs for blog posts.

This commit introduces new data models for interacting with the Reka AI API and updates the SummaryService to utilize the API for generating introductory text. It also enhances the SummaryEditor component with a button to trigger the generation process and displays a loading indicator during the request. Error handling is implemented to display informative messages in case of API failures.
Ensures `introParagraph` is properly initialized before use to avoid potential null reference exceptions during summary generation.
@fboucher fboucher self-assigned this Sep 26, 2025
@fboucher fboucher added the enhancement New feature or request label Sep 26, 2025
@github-actions
Copy link

Code Coverage

Package Line Rate Branch Rate Health
NoteBookmark.Domain 61% 27%
NoteBookmark.Api 91% 77%
NoteBookmark.ServiceDefaults 96% 75%
NoteBookmark.Domain 61% 27%
NoteBookmark.Api 91% 77%
NoteBookmark.ServiceDefaults 96% 75%
Summary 84% (986 / 1178) 69% (202 / 292)

@fboucher fboucher merged commit 0cbeec1 into main Sep 26, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generate the introduction paragraph of the summary

1 participant