Caution
This project has been superseded by the NextPyter project.
The goal of this project is developing a platform that universities can use to host and share their datasets, research projects and resulting papers.
- Internet connection
- Any Linux server
- Docker
- Docker Compose
-
Create a new directory named
sophon
on your machine and enter it:# mkdir sophon # cd sophon
-
Pull the
ghcr.io/steffo99/sophon-jupyter
Docker image:# docker pull ghcr.io/steffo99/sophon-jupyter
-
Download the
docker-compose.yml
file from this repository:# wget "https://raw.githubusercontent.com/Steffo99/sophon/main/docker-compose.yml"
-
Configure the
docker-compose.yml
file following the instructions written in the comments:# vim docker-compose.yml
-
Start the Docker containers:
# docker compose up -d
The project consists of four parts:
- a single-page-app built with React (
/frontend
); - a web API built with Django Rest Framework (
/backend
); - a dynamic proxy implemented on the Apache HTTP Server (
/proxy
); - a Docker image containing a single instance of JupyterLab (
/jupyter
)
For more details on the underlying libraries, packages, modules and plugins used, see the following files:
Development progress is tracked on issues #20 and #67.
Also see the issue tracker.
Sophon is developed using IntelliJ IDEA Ultimate.
Metadata is included in the /.idea
directory so that code style and run configuration are consistent across all machines used during the development.
Run configurations for running the backend, testing the backend, running the frontend and testing the frontend are included.
Commits names are prefixed with a variant of Gitmoji which follows roughly this legend:
- ✨ New feature
- 🔧 Refactor or tweak
- 🐛 Bug fix
- 🧹 Cleanup
- 📔 Documentation
- 🎓 Thesis
- 🗒 Readme
- ⬆ Dependency update
- 📦 Packaging
- 🔨 Tool update
- 🚧 Work in progress
- 🔀 Merge
Sophon uses GitHub Actions and Vercel for Continuous Deployment.
Docker images for the frontend, backend, proxy and jupyterlab are built by GitHub Actions on each push to the main
branch of this repository,
and automatically published to the GitHub Container Registry
A 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
automatically published to the sophon.steffo.eu domain.
Releases are created on each milestone and are available on the Releases page.
The project is developed by Stefano Pigozzi for Università degli studi di Modena e Reggio Emilia.