Skip to content

NiceGUI web-ui implementatio on uv monorepo workspace structure - #28

Open
hannalee2 wants to merge 158 commits into
devfrom
feat-web-ui
Open

NiceGUI web-ui implementatio on uv monorepo workspace structure#28
hannalee2 wants to merge 158 commits into
devfrom
feat-web-ui

Conversation

@hannalee2

Copy link
Copy Markdown
Collaborator

Key Changes

  • Architecture & Refactoring in GUI:

    • Adopted an MVC (Model-View-Controller) pattern to separate logic, data models, and UI components.
    • Reorganized the project structure to include dedicated folders for components, services, static, models, and controllers.
    • Moved core logic into controllers and consolidated configuration management in status.py.
  • UI Implementation:

    • Built the frontend using NiceGUI with Tailwind CSS for styling, replacing the initial test implementation.
    • Implemented reusable components for the queue sidebar and inspector views.
    • Added support for image rendering, mask overlays, and a custom theme via theme.css.
  • Backend & Integration:

    • Integrated FastAPI backend communication for file processing and QC report generation.
    • Added Pydantic models for JSON validation of backend results.
    • Implemented a health check API for backend service status.
    • Optimized performance by using temporary files instead of loading images directly into RAM.
  • Workflow Enhancements:

    • Implemented an event-driven subscription pattern for handling UI interactions (uploads, process requests).
    • Added options to save JSON QC reports to the output folder and toggle mask data return for the GUI.
  • Deployment Options & Limitations

    • Web Option: This mode utilizes web sockets for real-time interaction. Please note that there is a limit of 1000 files per upload due to web socket limitations.
    • Native (Default) Option: This mode operates directly without uploading, and there is no file limit per upload.
  • Testing

    • Validated file path handling and JSON output parsing.
    • Verified backend health check and event handling integration.

hannalee2 added 30 commits May 4, 2026 15:03
This will be changed to nice gui
user can run 'uv run autotomeqc' from root and qc/
ui.py getting bigger and move the functino to components
Red-Fail, green-Pass
gui and backend will run locally, no need to copy the images, just send the path
@hannalee2
hannalee2 marked this pull request as draft May 26, 2026 15:50
@hannalee2
hannalee2 marked this pull request as ready for review May 26, 2026 15:52
hannalee2 added 4 commits May 26, 2026 09:15
loading_dialog.close() should happen whether or not there was a config callback
Should access app_state.view.error not app_state.error
hannalee2 added 2 commits May 26, 2026 10:04
BiteIO is wonky on native version, so use 'save as' dialog
Large batch files take a time, to show the ui is not freezed, showing loading img
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants