.github/workflows | ||
.idea | ||
.media | ||
backend | ||
frontend | ||
jupyter | ||
proxy | ||
report | ||
thesis | ||
.gitattributes | ||
.gitignore | ||
docker-compose.yml | ||
LICENSE.txt | ||
README.md | ||
sophon.iml | ||
vercel.json |
Caution
This project has been superseded by the NextPyter project.
Links
Goal
The goal of this project is developing a platform that universities can use to host and share their datasets, research projects and resulting papers.
Screenshots
Installation
Requirements
- Internet connection
- Any Linux server
- Docker
- Docker Compose
Steps
-
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
Structure
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
Development progress is tracked on issues #20 and #67.
Also see the issue tracker.
Tools
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
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
Continuous Deployment (CD)
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
Releases are created on each milestone and are available on the Releases page.
People
The project is developed by Stefano Pigozzi for Università degli studi di Modena e Reggio Emilia.