Project Relations
This Mermaid overview graph shows
the simplified relations between the projects.
An arrow from project A to project B means,
that either A provides something to B or that A interacts with B.
Keep in mind, that project A providing project B with things,
does not necessarily mean,
that A is a dependency of B.
For instance, repos.process
manages git repos,
but the git repos themselves do not require repos.process
.
The general idea behind this overview is, that the more downward the viewer looks, the more and more the projects represent end products, instead of foundational modules.
graph TD
Developer --> Network-Project[Network Project]
Shell --> repos.process
Shell --> Shell-Libs[Shell Libs]
Shell --> Network-Worker
Network-Project --> Shell
Dem --> Network-Worker[Network Worker]
Community-Project --> Network-Distro
Network-Distro --> splitcells.net
Network-Project --> POMs
POMs --> Dem
Gel --> Sep
Gel --> Gel-Editor[Gel Editor]
Gel-Editor --> Gel-UI[Gel UI]
Network-Worker --> Webserver
Sep --> Cin
Webserver --> splitcells.net
Webserver --> Gel
Webserver --> Community-Project[Community Project]
Cin --> Network-Distro[Network Distro]
Gel-UI --> Network-Distro
splitcells.net[splitcells.net Deployment] --> user[End User]
Project And Repo Cluster Structure
This project is meant to be part of a cluster, with a certain filesystem structure in mind. The cluster's filesystem consists of a folder containing repositories with minimal repo nesting:
Project Cluster
├── net.splitcells.network
│ └── projects
│ ├── net.splitcells.dem
│ ├── net.splitcells.gel
│ ├── net.splitcells.shell
│ ├── net.splitcells.system
│ └── ...
├── net.splitcells.network.log
├── net.splitcells.os.state.interface.lib.gpl.v2
├── net.splitcells.os.state.interface.lib.gpl.v2
└── ...
This image illustrates the networks structure by showing relevant parts of the filesystem.
- net.splitcells.network:
This repository integrates all projects, repositories and hosting services, that are part of the primary network.
- dem: Provides a standardized fundament for Java projects.
- gel: This framework delivers optimization capabilities.
- os.state.interface: The projects helps the user to organize and execute commands in the terminal via dependency injection.
- system: Manages all integrated subprojects of the network. In particular, it can be used to use all integrated projects as a dependency.
Related projects are located in repositories, which are at the same folder as the net.splitcells.network project and are sometimes called peer projects/repos (see net.splitcells.osi.repos.peers files). These projects are not inside this repository and are managed more independently. They may be managed by users with OS state interface. It is recommended to not nest repositories. Examples are:
- net.splitcells.network.log contains data like benchmark results.
- net.splitcells.shell.lib.gpl.v2 is a command repository,
that can be used independently or can be registered to an installation
of
net.splitcells.shell
.
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
- SPDX-FileCopyrightText: Contributors To The
net.splitcells.*
Projects