{"id":19883374,"url":"https://github.com/steffo99/sophon","last_synced_at":"2026-02-15T09:41:22.587Z","repository":{"id":38982051,"uuid":"354297168","full_name":"Steffo99/sophon","owner":"Steffo99","description":"Research hub for universities","archived":false,"fork":false,"pushed_at":"2024-10-15T06:45:15.000Z","size":8340,"stargazers_count":9,"open_issues_count":14,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-01T00:08:09.978Z","etag":null,"topics":["apache-httpd","django","django-rest-framework","docker","docker-compose","jupyter","jupyter-notebook","jupyterlab","react","typescript","unimore-informatica"],"latest_commit_sha":null,"homepage":"https://sophon.steffo.eu","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Steffo99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"steffo"}},"created_at":"2021-04-03T13:18:53.000Z","updated_at":"2024-10-15T06:45:19.000Z","dependencies_parsed_at":"2024-09-17T23:18:42.039Z","dependency_job_id":null,"html_url":"https://github.com/Steffo99/sophon","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffo99%2Fsophon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffo99%2Fsophon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffo99%2Fsophon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steffo99%2Fsophon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Steffo99","download_url":"https://codeload.github.com/Steffo99/sophon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252053936,"owners_count":21687196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-httpd","django","django-rest-framework","docker","docker-compose","jupyter","jupyter-notebook","jupyterlab","react","typescript","unimore-informatica"],"created_at":"2024-11-12T17:20:03.122Z","updated_at":"2026-02-15T09:41:22.541Z","avatar_url":"https://github.com/Steffo99.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\n![](.media/icon-128x128_round.png)\n\n# Sophon\n\nResearch hub for universities\n\n\u003c/div\u003e\n\n\u003e [!Caution]\n\u003e \n\u003e This project has been superseded by the NextPyter project.\n\n## Links\n\n[![On ACM Digital Library](https://img.shields.io/badge/acm%20digital%20library-open%20access-b95709)](https://dl.acm.org/doi/abs/10.1145/3491418.3535163)\n\n\n## Goal\n\nThe goal of this project is developing a platform that universities can use to **host** and **share** their _datasets_, _research projects_ and resulting _papers_.\n\n\n## Screenshots\n\n![Screenshot 1](https://user-images.githubusercontent.com/1540885/138204295-59c6efc3-a4fe-4c91-982b-8257e42b7970.png)\n\n![Screenshot 2](https://user-images.githubusercontent.com/1540885/138204345-346d144f-914f-4435-8816-69abe4a34381.png)\n\n![Screenshot 3](https://user-images.githubusercontent.com/1540885/138204387-69cd2e63-3030-48b8-a149-043e3e2393f7.png)\n\n\n## Installation\n\n### Requirements\n\n- Internet connection\n- Any Linux server\n- [Docker][what-is-docker]\n- [Docker Compose][what-is-compose]\n\n[what-is-docker]: https://www.docker.com/\n\n[what-is-compose]: https://docs.docker.com/compose/\n\n\n### Steps\n\n1. Create a new directory named `sophon` on your machine and enter it:\n   ```console\n   # mkdir sophon\n   # cd sophon\n   ```\n\n2. Pull the `ghcr.io/steffo99/sophon-jupyter` Docker image:\n   ```console\n   # docker pull ghcr.io/steffo99/sophon-jupyter\n   ```\n\n3. Download the `docker-compose.yml` file from this repository:\n   ```console\n   # wget \"https://raw.githubusercontent.com/Steffo99/sophon/main/docker-compose.yml\"\n   ```\n\n4. Configure the `docker-compose.yml` file following the instructions written in the comments:\n   ```console\n   # vim docker-compose.yml\n   ```\n\n5. Start the Docker containers:\n   ```console\n   # docker compose up -d\n   ```\n\n\n## Structure\n\nThe project consists of four parts:\n\n- a **single-page-app** built with [React][what-is-react] (`/frontend`);\n- a **web API** built with [Django Rest Framework][what-is-drf] (`/backend`);\n- a **dynamic proxy** implemented on the [Apache HTTP Server][what-is-httpd] (`/proxy`);\n- a **Docker image** containing a single instance of [JupyterLab][what-is-jupyterlab] (`/jupyter`)\n\n[what-is-react]: https://reactjs.org/\n\n[what-is-drf]: https://www.django-rest-framework.org/\n\n[what-is-httpd]: https://httpd.apache.org/\n\n[what-is-jupyterlab]: https://jupyter.org/\n\nFor more details on the underlying libraries, packages, modules and plugins used, see the following files:\n\n- [`/frontend/package.json`][lib-frontend]\n- [`/backend/pyproject.toml`][lib-backend]\n- [`/proxy/httpd.conf`][lib-proxy]\n- [`/jupyter/Dockerfile`][lib-jupyter]\n\n[lib-frontend]: https://github.com/Steffo99/sophon/blob/main/frontend/package.json\n\n[lib-backend]: https://github.com/Steffo99/sophon/blob/main/backend/pyproject.toml\n\n[lib-proxy]: https://github.com/Steffo99/sophon/blob/main/proxy/httpd.conf\n\n[lib-jupyter]: https://github.com/Steffo99/sophon/blob/main/jupyter/Dockerfile\n\n\n## Development\n\n### Progress\n\nDevelopment progress is tracked on issues [#20][issue-#20] and [#67][issue-#67].  \nAlso see the [issue tracker][issue-tracker].\n\n[issue-#20]: https://github.com/Steffo99/sophon/issues/20\n\n[issue-#67]: https://github.com/Steffo99/sophon/issues/67\n\n[issue-tracker]: https://github.com/Steffo99/sophon/issues\n\n\n### Tools\n\nSophon is developed using [IntelliJ IDEA Ultimate][what-is-idea].\n\nMetadata is included in the `/.idea` directory so that code style and run configuration are consistent across all machines used during the development.\n\nRun configurations for *running the backend*, *testing the backend*, *running the frontend* and *testing the frontend* are included.\n\n[what-is-idea]: https://www.jetbrains.com/idea/\n\n\n### Commits\n\nCommits names are prefixed with a variant of [Gitmoji][what-is-gitmoji] which follows roughly this legend:\n\n- ✨ New feature\n- 🔧 Refactor or tweak\n- 🐛 Bug fix\n- 🧹 Cleanup\n- 📔 Documentation\n- 🎓 Thesis\n- 🗒 Readme\n- ⬆ Dependency update\n- 📦 Packaging\n- 🔨 Tool update\n- 🚧 Work in progress\n- 🔀 Merge\n\n[what-is-gitmoji]: https://gitmoji.dev/\n\n\n### Continuous Deployment (CD)\n\nSophon uses [GitHub Actions][what-is-github-actions] and [Vercel][what-is-vercel] for Continuous Deployment.\n\n[what-is-vercel]: https://vercel.com/\n\n[what-is-github-actions]: https://docs.github.com/en/actions\n\nDocker images for the frontend, backend, proxy and jupyterlab are built by GitHub Actions **on each push to the `main` branch** of this repository,\nand [automatically published][list-containers] to the [GitHub Container Registry][what-is-github-containers]\n\n[list-containers]: https://github.com/Steffo99?tab=packages\u0026repo_name=sophon\n\n[what-is-github-containers]: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry\n\nA generic version of the frontend is build automatically by Vercel **on each push to the `main` branch** and **on every pull request** to this repository, and\nautomatically published to the [sophon.steffo.eu](https://sophon.steffo.eu) domain.\n\n\n### Releases\n\nReleases are created on each milestone and are available on the [Releases page][list-releases].\n\n[list-releases]: https://github.com/Steffo99/sophon/releases\n\n\n## People\n\nThe project is developed by [Stefano Pigozzi][who-is-stefano-pigozzi] for [Università degli studi di Modena e Reggio Emilia][what-is-unimore].\n\n[who-is-stefano-pigozzi]: https://steffo.eu\n\n[what-is-unimore]: https://www.unimore.it/\n","funding_links":["https://ko-fi.com/steffo"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteffo99%2Fsophon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteffo99%2Fsophon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteffo99%2Fsophon/lists"}