Skip to content

Steffo99/sophon

Repository files navigation

Sophon

Research hub for universities

Caution

This project has been superseded by the NextPyter project.

Links

On ACM Digital Library

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

Screenshot 1

Screenshot 2

Screenshot 3

Installation

Requirements

Steps

  1. Create a new directory named sophon on your machine and enter it:

    # mkdir sophon
    # cd sophon
  2. Pull the ghcr.io/steffo99/sophon-jupyter Docker image:

    # docker pull ghcr.io/steffo99/sophon-jupyter
  3. Download the docker-compose.yml file from this repository:

    # wget "https://raw.githubusercontent.com/Steffo99/sophon/main/docker-compose.yml"
  4. Configure the docker-compose.yml file following the instructions written in the comments:

    # vim docker-compose.yml
  5. Start the Docker containers:

    # docker compose up -d

Structure

The project consists of four parts:

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.