Skip to content

A complete rewrite of the application #118

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

Merged
merged 2 commits into from
May 31, 2025
Merged

A complete rewrite of the application #118

merged 2 commits into from
May 31, 2025

Conversation

benc-uk
Copy link
Owner

@benc-uk benc-uk commented May 31, 2025

A complete rewrite of the application

The goal of this rewrite was to create a more maintainable codebase from the original KubeView. Some choices that have been made in this rewrite include:

  • Removal of Vue.js, and no bundling or NPM required.
  • Using SSE (Server-Sent Events) for real-time updates instead of polling.
  • Use of Alpine.js for managing client side behaviour.
  • Switch to Bulma for CSS and themes.
  • Clean up & refactor messy parsing logic for resources and their relationships (but it's still pretty messy!).

The rewrite originally used HTMX for fetching data and HTML fragments from the server. This worked but ended up unnecessarily complicated with so many interactions between the frontend and backend, esp with Cytoscape. The resulting code was also hard to follow and understand. As a result the current rewrite is more of an iteration of v1, the Vue.js code has been removed and replaced with a simpler static HTML/JS app that uses Alpine.js for interactivity. The backend API has been clear separation of concerns and now dynamically handles updates using SSE.

@benc-uk benc-uk changed the title Moving *everything* from the v2 repo A complete rewrite of the application May 31, 2025
@benc-uk benc-uk merged commit 9b0f70f into master May 31, 2025
@benc-uk benc-uk deleted the megatonneV2 branch May 31, 2025 17:07
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.

1 participant