Short Summary
This feature involves creating an upload page, where users will upload relevant PDFs and display the ingested documents metadata.
Motivation & Context
A user-friendly interface is needed for uploading regulatory documents and getting immediate feedback on ingested files.
Proposed Solution
-
Add a drag-and-drop or file-picker component to upload PDF files.
-
After upload, call the /api/ingest endpoint to process the PDF.
-
Retrieve the updated document list via /api/docs and render it in a table or cards, showing metadata such as:
- Document name
- Upload timestamp
- Jurisdiction (if extracted)
- Effective date (if available)
-
Display a success or error notification for each ingest operation.
-
For pending ingestions, show a loading indicator or "processing" status.
Affected Components
Estimated Time (hours)
1
Acceptance Criteria
- Given the Upload page is loaded, When I upload one or more PDF files, Then the files are sent to the ingestion endpoint and a processing indicator is shown.
- Given the ingestion completes successfully, Then each document appears in the document list with correct metadata (name, upload time, jurisdiction, effective date).
- Given ingestion fails (e.g. invalid PDF), Then an error notification (toast/modal) is displayed indicating failure.
- Given the document list is shown, When I refresh the page, Then the previously ingested PDFs still appear (state persists via backend).
- Given multiple files are uploaded, Then they are processed concurrently (or queued) and all appear in the list as each completes.
Short Summary
This feature involves creating an upload page, where users will upload relevant PDFs and display the ingested documents metadata.
Motivation & Context
A user-friendly interface is needed for uploading regulatory documents and getting immediate feedback on ingested files.
Proposed Solution
Add a drag-and-drop or file-picker component to upload PDF files.
After upload, call the
/api/ingestendpoint to process the PDF.Retrieve the updated document list via
/api/docsand render it in a table or cards, showing metadata such as:Display a success or error notification for each ingest operation.
For pending ingestions, show a loading indicator or "processing" status.
Affected Components
Estimated Time (hours)
1
Acceptance Criteria