HunterGerlach / deep-thought

A question-answering system that uses embeddings and a language model to find the most likely answer to a question, while also providing links to sources that support the answer.
GNU General Public License v3.0
8 stars 3 forks source link

[UI/UX] Create UI for interaction with system #32

Open HunterGerlach opened 1 year ago

HunterGerlach commented 1 year ago

Issue Type

Summary

A web frontend is needed for interacting with Deep Thought

Deep Thought currently provides a collection of API endpoints (OpenAPI view and spec is available at https://{deployment ur:portl}/v1) There is currently an application that consumes this API and serves interactions via chat tools like Google Chat and Slack. For demonstration purposes it would be useful to show a web frontend to interact with the service.

Expected Behavior

A separate component optionally deployed alongside the Deep Thought application to offer this UI.

Security Checklist

Acceptance Criteria

Done is better than perfect here, so if you cannot achieve all of these AC, then simply open a new ticket so we can tackle the missing items at a later date.

AC 1: Given that I am a web user, When I visit the Deep Thought application's web frontend, Then I should be able to access a user-friendly and intuitive interface that allows interaction with the Deep Thought API.

AC 2: Given that I am a web user wanting to use different API functions, When I am on the Deep Thought application's web frontend, Then I should be able to execute all provided API functions like Get, Post, etc. through interactive GUI elements like buttons, drop-down menus, and input fields.

AC 3: Given that I am a web user who interacts with the API via the frontend, When I perform these interactions, Then the UI should display clear and concise messages reflecting the results of my actions (success or error), not stack traces or verbose outputs.

AC 4: Given that I am a web user who encounters an error while interacting with the API, When this error occurs, Then I should receive specific error messages that help identify and troubleshoot the issue.

AC 5: Given that I am a web user browsing the Deep Thought application's web frontend, When I interact with the API through the frontend, Then the response time of the frontend should be fast and the UX should be smooth.

Semi-optional AC 6: Given that I am a web user that may need to authenticate to interact with the Deep Thought API, When I am on the application's web frontend, Then I should be provided with a secure method for authentication. This is not currently necessary, but something that should be considered in the design/implementation.

Semi-optional AC 7: Given that I am a web user using different devices and browsers, When I access the Deep Thought application's web frontend, Then I should find it compatible and optimized for all major browsers and devices, including desktops and mobiles.

stratus-ss commented 1 year ago

I'm interested in taking a poke at this