Skip to content

Demo Application

To help you explore the functionality of this project, a demo server can be run locally using the provided sample data. This demo server includes pre-configured settings and sample records to allow for a comprehensive overview of the application's features without needing to configure everything from scratch.

Running the Demo Server Locally

To set up and start the demo server locally, use the following command:

docker compose -f tests/extras/demoapp/compose.yml up --build

This command will build and launch all necessary containers for the demo environment, allowing you to see how different components of the system interact. Once everything is running, you can access the demo server's admin panel to manage and configure various settings within the application.

Accessing the Admin Panel

The admin panel is accessible via the following URL in your browser, using the credentials below:

  • URL: http://localhost:8000/admin
  • Username: adm@hde.org
  • Password: 123

API Interaction

To further understand how the API works and how different endpoints can be used, there are scripts available for API interaction. These scripts are located in the tests/extras/demoapp/scripts directory.

Prerequisites

To use these scripts, ensure that the following tools are installed:

  • httpie ⧉: A command-line HTTP client, used for making API requests in a more readable format compared to traditional curl.
  • jq ⧉ : A lightweight and flexible command-line JSON processor that allows you to parse and manipulate JSON responses from API endpoints.

Scripts Overview

Configuration Scripts

Configuration scripts are used to set up the environment for the API interactions. These scripts hold internal settings and functions that are shared across multiple API interaction scripts, making it easier to reuse common functionality and standardize configuration.

Name Arguments Description
.vars - Contains configuration variables
.common - Contains common functions used by other scripts

Public Scripts

These scripts help manage specific parameters for API interactions, allowing for easy setup and modification of variables that will be used in other commands.

Name Arguments Description
use_base_url base url Sets base url
use_auth_token auth token Sets authentication token
use_deduplication_set deduplication set id Sets deduplication set id

API Interaction Scripts

These scripts are used to interact directly with the API endpoints, performing various operations like creating deduplication sets, uploading images, starting the deduplication process, and retrieving results.

Name Arguments Description
create_deduplication_set reference_pk Creates new deduplication set
create_image filename Creates image in deduplication set
ignore first reference pk, second reference pk Makes API ignore specific reference pk pair
process_deduplication_set - Starts deduplication process
show_deduplication_set - Shows deduplication set data
show_duplicates - Shows duplicates found in deduplication set

Test Case Scripts

Test case scripts are designed to automate end-to-end testing scenarios, making it easy to validate the deduplication functionality.

Name Arguments Description
base_case reference pk Creates deduplication set, adds images to it and runs deduplication process
all_ignored_case reference pk Creates deduplication set, adds images to it, adds all possible reference pk pairs to ignored pairs and shows duplicates found