Skip to content

The structure of the Github repository

Earlier you got familiar with the architecture of the project. Now let's see and understand how our Github repository is organized by it.

├── backend
├── harvest
└── ui

In the root folder, you will find three main directories:

backend

  • Backend service - PostgreSQL DB, OpenSearch and Django REST API can be found here

harvest

  • CDS harvesting service

ui

  • React App (UI)

Docker and Docker-Compose

This software can be delivered more quickly using Docker as it separates applications from their infrastructure.

This platform provides the management of the container lifecycles, which are the following:

• Developing the application and its supporting components using containers. • Transforming the container to the unit that distributes and tests the application. • Deployment of the application into the production environment, as a container.

This application requires some services to run, such as the database and Elasticsearch. The following files are configured in Docker and Docker Compose to run these services cross-platform and conveniently:

Dockerfile

This Dockerfile builds a fully functional image of your application with all of the static assets it requires.

docker-compose.yml

This file contains and exposes locally the minimal set of service containers needed for developing the instance locally:

  • db: The database, PostgreSQL, exposing the 5432 port.

  • es: Elasticsearch version 7, exposing the 9200 and 9300 ports.

When developing and running your instance locally these services can be accessed by the application.