Web: view results in a browser; ECCE-QM in the browser (WebAssembly)
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 8/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- c, cpp, javascript, wasm
Research direction
This is a two-part roadmap issue, not a starter task: read the Web section and the linked #133 and #248 for context first. Part 1 concerns a read-only web view fed by the data server over WebDAV, with a viewer such as 3Dmol.js or NGL. Part 2 concerns compiling ECCE-QM with libcint and libxc to WebAssembly. Done would mean a design agreed in the thread, split into smaller issues, rather than a patch against this one.
Written by the indexing model from the issue text.
Description
Two web uses, in this order, once the current client work (#133) and ECCE-QM's next steps (#248) are done.
1. Showing results in a web browser
Purpose: bring up a calculation's output during a lecture or a discussion from any computer with a browser, without starting the desktop client.
- A read-only web view of a user's projects and calculations: name, code, method and basis, state, total energy, and the input and output files.
- Structure, orbitals and vibrational modes drawn with a JavaScript viewer such as 3Dmol.js or NGL, from the files ECCE already stores (Molden and cube files, the geometry trace).
- Data comes from the data server, which already serves projects and calculations over HTTP (WebDAV). Login uses the data server's accounts. Read-only, so the desktop client stays the only writer.
- Works for the central server first. For a laptop in local mode, a "share/export as a web page" of one calculation (a static HTML file) may be enough for a lecture.
2. ECCE-QM in the browser
Purpose: let students run small calculations with nothing installed.
- Compile ECCE-QM with libcint and libxc to WebAssembly. All three are C/C++ with no system dependencies; check threads (WASM threads need cross-origin isolation) and memory (browser limits) against the size limits from #248.
- A page to pick or draw a small molecule, choose a method and basis from ECCE-QM's lists, run in the browser, and show energies, orbitals and, when #248 has them, optimised geometry and spectra. It reuses the viewer from part 1.
- Export of the input and results in a form the desktop ECCE can open.
- Static hosting, with no server-side computation.
Not planned
Setting up and submitting calculations for arbitrary codes from the web. It would need a web version of the Calculation Editor and the job launch logic, which is a different program.
To decide later
- Following jobs live in the browser, through Mosquitto's WebSocket listener, with the same per-user topics as the desktop client.
- Dominant language
- C
- Stars
- 10
- Forks
- 8
- Avg merge
- 21m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from FriendsofECCE/ECCE
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
FriendsofECCE/ECCE#353 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
FriendsofECCE/ECCE#336 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
FriendsofECCE/ECCE#355 ·
-
Icons in MacOSOpenenhancement
Difficulty 5/5 Over a week Newbie friendliness 18/100
FriendsofECCE/ECCE#354 · 4 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
FriendsofECCE/ECCE#351 ·
All issues in FriendsofECCE/ECCE
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
FujiNetWIFI/fujinet-lib#186 ·
Maintainers usually reply within 1 day
-
VIEW_TYPE set for computer playersPossibly taken @Loobinex claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 Under an hour Newbie friendliness 78/100
brunodev85/winlator-app#90 ·