Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Web: view results in a browser; ECCE-QM in the browser (WebAssembly)

Open
#249 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from FriendsofECCE/ECCE

All issues in FriendsofECCE/ECCE

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.