Xunyang Hong

From group news
to website.

A web-based self-report system paired with a desktop app for maintaining our research group's website.

I developed both tools for the Johan Chang group at the University of Zurich, where I serve as website administrator. Members report their news; I review it and use JohanWeb to update the site.

  • Python
  • PyQt5
  • SSH file transfers
  • CSV records
Add a preprint using manual entry13 sec · 3× speed · silent demo
Read the walkthrough

Enter an arXiv ID to fetch the preprint details, drag in a figure and submit the entry. JohanWeb uploads the figure and updates the website's preprint records. This clip demonstrates the manual-entry route; reviewed notification emails can also be imported into the app.

Submit. Review. Publish.

01 · Members

Report the news.

Group members use a web form to submit publications, preprints, talks, theses or new-member details. Each submission sends a notification to the administrator.

02 · Admin

Review and import.

I check the submission, then paste the notification email into JohanWeb. The app detects the update type and fills in the relevant fields for review.

03 · JohanWeb

Update the website.

After review, I add any required figure, photo or PDF and submit the update. The app transfers the files and updates the appropriate website records.

Built around everyday admin work.

A single interface handles the group's recurring updates, replacing manual CSV editing and file-transfer commands.

Import or enter directly

Structured email headers identify the update type. A manual-entry tab also allows updates without a notification email; preprint details can be fetched from an arXiv ID.

Keep related content together

Publishing an existing preprint moves its entry and reuses its figure. Thesis PDFs go to the appropriate section, and new members are placed according to their role.

Handle the server work

The Python/PyQt5 app manages file uploads and CSV updates through the administrator's UZH Physics Linux account, keeping these routine tasks in one GUI.