Skip to content

Daphne web UI#646

Merged
corepointer merged 1 commit intodaphne-project:mainfrom
aristotelis96:web-ui
Apr 4, 2025
Merged

Daphne web UI#646
corepointer merged 1 commit intodaphne-project:mainfrom
aristotelis96:web-ui

Conversation

@aristotelis96
Copy link
Copy Markdown
Collaborator

This is a first approach to a Daphne UI. It consists of two sub-projects, an API written in python (Flask) and a frontend web ui implemented with Angular. You can read more about how to use or extend the UI in the README files.

The UI contains a main panel used for executing Daphne and an additional "Experiments" tab which contains a few examples that were demonstrated during EuroPar2023 workshop. Users can select to run a Daphne script from the UI, the available scripts displayed can be configured through src/tools/web-ui/backend/config.json (read more backend/README.md).

One major thing missing is testing (both the API and the Angular app), however I believe we can merge it for now and work on this later if we decide to extend it.

I am opening this as a pull request to open a discussion about the location of the UI within the Daphne project.
Please feel free to provide any additional comments or feedback before merging this.

@auge
Copy link
Copy Markdown
Contributor

auge commented Dec 15, 2023

I think it's a bad idea to merge it in.
Such tools shall IMHO be put in a separate git repository.

just my 0.02.

KR, Benjamin

@pdamme
Copy link
Copy Markdown
Collaborator

pdamme commented Dec 15, 2023

Hi @aristotelis96! First of all, thanks for the awesome work on the Euro-Par demo and the web interface! Such tools on top of the DAPHNE system are great contributions to the project as they can help to demonstrate and disseminate DAPHNE. And it is a great idea to open-source these tools, along with the main system.

Thanks also for initiating the discussion on where to put the code of the demo/web UI. I partly agree with @auge that the main DAPHNE repo may not be the best place for tools on top of DAPHNE. Maybe a sibling repo in daphne-eu would be more suitable, but there are a few pros and cons (no claim of completeness):

Reasons to include tools in the main repo:

  1. Better visibility of the tool.
  2. Users get everything DAPHNE-related in one "bundle".
  3. Contributors of the tool get credit on the main repo (better visibility and incentive for contributions).
  4. Easier for developers working on both the main system and the tool.

Reasons to host tools in separate repos:

  1. The main DAPHNE system should be generic and easily (re)usable, to my mind. Tools may be tailored to a specific occasion (e.g., a concrete demo at a conference/workshop), or contain other specifics. For instance, this PR contains some VEGA-specific pieces (which is fine for a demo), but most people don't have access to VEGA (which limits the reusability).
  2. A tool may be written for a specific version of DAPHNE. If it is included in the main repo, the tool should be updated regularly to adapt to changes in the main system. This requires someone (e.g., the people who contribute the tool) to take care of it. A tool in a separate repo could specify the concrete DAPHNE version (perhaps through a git sub-module), and only be updated when required.
  3. Including tools can introduce more dependencies (e.g., Node.js in this case). Even though these dependencies may be required only for the specific tool, explaining to a user/developer what is needed for what could get more complicated. (And DAPHNE already has quite a lot of dependencies.)
  4. Including tools in the main repo could complicate the directory structure (including separate/scattered instructions on getting started and dependencies).

Again, tools on top of DAPHNE are definitely a benefit for the project, but we need to decide where to put them. Any opinions and comments are welcome.

@pdamme
Copy link
Copy Markdown
Collaborator

pdamme commented Dec 15, 2023

These are just my initial thoughts on the integration of the web interface into the overall project. I haven't looked into the source code in detail yet, though ;) .

@aristotelis96
Copy link
Copy Markdown
Collaborator Author

Thank you @auge and @pdamme for your feedback! Based on your comments, I also think that maybe it's best to move this into a separate repository under @daphne-eu. We can leave this PR open for now (so others can join the discussion and make any additional improvements :) ) and I can push the final version on the new repository later.

@corepointer
Copy link
Copy Markdown
Collaborator

What about the repo name daphne-eu/web-ui or daphne-eu/daphne-web-ui? Anything's possible ;-)

@corepointer corepointer added the feature missing/requested features label Dec 21, 2023
This commit adds the DAPHNE Web-UI that previously existed only in a pull request of our contributor Aristotelis Vontzalidis as a submodule that links to the separate repo https://github.com/daphne-eu/web-u

Closes daphne-project#646

Co-authored-by: Aristotelis Vontzalidis <avontz@cslab.ece.ntua.gr>
@corepointer
Copy link
Copy Markdown
Collaborator

Since there was no more discussion about it, I (finally) proceeded with moving this to its own repo and added a submodule as this feature is mentioned in the result highlights of the project.

@corepointer corepointer merged commit 8b5d7a4 into daphne-project:main Apr 4, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature missing/requested features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants