Developing Local EnteroBase

This section provides documentation to support future developers of Local EnteroBase.

Local EnteroBase Directory Structure

Local EnteroBase Directory Structure

Directory Structure Descriptions

  • Docker_Images - stores the Docker container and related files such as certs, configuration etc.

  • docs - where the development documentation is found.

  • installer - where the automatic installation script and information is found.

  • local_entero - the Local EnteroBase flask application code and files.
    • app_test - stores JSON Warwick EnteroBase request files (in the child directory Warwick_EnteroBase_requests_data).

    • auth - contains the authorisation routes and utility methods.

    • configuration - contains the configuration routes and utility methods.

    • Databases - contains the database models and utility methods.

    • forms - contains form related methods, such as validation checks for the configuration steps.

    • jobs - contains the job routes and utility methods.

    • resources - contains resources such as a list of countries and continents.

    • routes - contains the application routes and utility methods.

    • static - contains all the static files (files that aren’t server-generated, but must be sent to the browser when requested) such as JavaScript, images etc.

    • tasks - contains all the celery tasks for performing assemblies.

    • templates - stores the HTML template files.

    • utils - contains various utility methods.

    • __init__.py - the main function for the flask app, containing the initialisation code and builds the routes.

  • Singularity_Images - stores the parent and child recipe files (in the child directory EGP) for the unified EToKi, Gunicorn and PostgreSQL container.

  • tests
    • functional - contains the functional tests that have been written.

    • integration - contains the integration tests that have been written.

    • test_reads - contains the short read files for testing the assembly functions.

    • unit - contains the unit tests that have been written.

    • conftest.py - contains the test setup and teardown code.

    • test_data.py - contains test data to populate the database with.

  • .gitignore - the files/folders that git will ignore in the project.

  • .local_configuration_file.yml - contains configuration settings for Local EnteroBase.

  • bitbucket-pipelines.yml - the pipeline instructions for CI.

  • check_assembly_requirements.sh - script to check system meets minimum requirements.

  • config.py - contains the config settings for the flask app. Distinguishes between development/testing/production.

  • manage.py - contains the manager functions of the application.

  • pyproject.toml - stores configuration settings for building and installing the project system (PEP 518).

  • pytest.ini - stores configuration settings for performing system testing using Pytest.

  • README.md - stores metadata regarding Local EnteroBase.

  • requirement_check.py - script to check system meets minimum requirements.

  • requirements.txt - specifies the python libraries and their version numbers that are required to run the application.