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.