In this section, we will find information about the ways to contribute, extend and improve the Cytomine project.
As the Cytomine project is composed of multiple services with different programming language, it is possible to contribute to one or another service according to your skills.
The main components of the Cytomine project are
- The Core component. It contains the programming logic, the object representation, their dependencies and the access permissions. Core is also the component connected to the databases. It is developed in Grails.
- The IMS (Image Management Server) component. Connected to the storage disk, the uploads are made on IMS and it will convert, if necessary, and deploy the uploaded images. It will also return the tiles displayed in the viewer when you browse an image with its dependencies (For example see IIP Image Server). It is developed in Grails.
- The Cytomine-Web-UI component is our supported front-end. It is a Web User Interface developed in VueJS. It is every graphic component that you can see into your Cytomine browser navigation.
The main componant are on the following architecture graph where the black lines are HTTP requests and blue line are requests through a socket :