Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Golem - executable APP #1216

Open
wants to merge 82 commits into
base: main
Choose a base branch
from
Open

Golem - executable APP #1216

wants to merge 82 commits into from

Conversation

itsparser
Copy link

@itsparser itsparser commented Jan 3, 2025

/claim #1189
/resolves #1189

Download - https://www.dropbox.com/scl/fi/esuyaha0yddm2pjjtocsq/Golem_0.1.0_aarch64.dmg?rlkey=a2jhyludo63eoabtw094rnsdt&st=f59q6dv1&dl=0

if you are looking for windows and linux
https://github.com/itsparser/golem/actions/runs/12619370974

Objectives

  1. Build a TypeScript-based GUI application for managing Golem components, workers, APIs, and plugins.
  2. Integrate the application into the single executable build of Golem.
  3. Provide a developer-friendly experience with polished UI/UX design.
  4. Ensure functionality supports all Golem backend APIs.

Plan

Phase 1: Core Decisions

  • Set up a Tauri + React project for single executable build
  • Choose a UI framework TailwindCSS, shadcn for consistent and modern design. (since console.golem.cloud use samesetup it is easy for developer to use it)
  • Integrate cross-platform support Tauri for bundling as an executable.
  • Set up backend API connections using Golem REST API.
  • Create a development environment with live reloading.

Phase 2: Core Features Implementation

Component Management

  • Create new components.
  • List existing components.
  • Update component versions.
  • Delete components.
  • Export components.
  • Link workers to components.
  • Display component status.
  • Manage file permissions and download components.
  • Support to add file as part of component creation and update

Worker Management

  • Provide an overview of worker information.
  • Create new workers from components.
  • Delete running workers.
  • Pause/suspend workers.
  • Invoke worker functionality.
  • Display logs of worker invocations.

API Management

  • Create new APIs.
  • Manage API versions.
  • Create and manage routes for invoking APIs.
  • Delete API versions.
  • Delete all routes.

Plugin Management

  • Create plugins.
  • List available plugins.
  • Update/version plugins.
  • Delete plugins.

Phase 3: Integration into Single Executable

  • Integrate the GUI application with the Golem CLI using Rust.
  • Bundle the GUI application into the single executable build.
  • Test cross-platform compatibility (Linux, macOS, Windows).

Phase 4: UI/UX Enhancements

  • Design a consistent and modern interface.
  • Ensure responsive design for cross-platform usability.

Phase 5: Testing and Validation

  • Conduct unit testing for each module.
  • Perform integration testing for GUI and backend APIs.
  • Validate the application on different operating systems.

Deliverables

  • Screenshots of all major UI sections.
  • Documentation for installation and usage.
  • Add GitHub Action to bundle binaries for all platforms (Linux, macOS, Windows).

Clarification Needed

  • code path - current path of /crates/app/ is it right to be here
  • Clarification on the route creation

Screenshot of major pages

Screenshot 2025-01-03 at 8 02 59 PM Screenshot 2025-01-03 at 8 03 11 PM Screenshot 2025-01-03 at 8 03 38 PM Screenshot 2025-01-03 at 8 03 50 PM Screenshot 2025-01-03 at 8 04 01 PM Screenshot 2025-01-03 at 8 04 29 PM Screenshot 2025-01-03 at 8 04 39 PM Screenshot 2025-01-03 at 8 05 23 PM Screenshot 2025-01-03 at 8 05 36 PM

@itsparser itsparser marked this pull request as ready for review January 5, 2025 12:31
@itsparser
Copy link
Author

@jdegoes its been done can you review this and share your feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create Open Source GUI for Golem in TypeScript
1 participant