-
Notifications
You must be signed in to change notification settings - Fork 5
Repository Structure
TracEX is developed using Django, adhering to the framework's conventions as detailed in the Django Documentation. The root directory of the project is tracex_project
, which is accompanied by various configuration files and a /docs
directory that includes guidelines on commit message conventions and branch naming conventions. For more details, see the branch naming guidelines and commit message guidelines.
The project is organized into five applications: extraction
, db_results
, patient_journey_generator
, trace_comparator
, and tracex
. Each application encapsulates specific functionalities, encompassing both the user interface code and the logic execution.
All apps feature Django specific files:
-
forms.py
: defines the input options for the users and the validation for that input -
views.py
: defines the content that is displayed for the user and executes the logic of TracEX. -
apps.py
: defines initialization for the app. -
urls.py
: defines the url paths, that are used in the app and connects a view to each of them.
Some of the apps additionally share the following directories:
-
/tests
: contains unit tests for the specific app -
/static
: contains all static files for the specific app, including images, CSS and JavaScript -
/templates
: contains html files that serve as templates, which the views fill with variables. These html files define how the UI looks in the browser. -
/migrations
: contains the migration files created by django. They log all changes made to the database schema. -
/logic
: contains all source code that defines logic for the specific app in addition to that, which is defined in the views -
/fixtures
: contains json files that populate the test database used in/tests
This outlines to content and purpose of all the apps. For a more detailed description please see Pipelines.
This app contains all functionality that is shared between multiple apps including settings.py
that defines all basic settings for the project.
This app contains everything that is related to the extraction process itself. This includes the /modules
as well as views and forms needed to display the tool to the user and handle user input.
/modules
is a python package that groups all modules that can be used in the extraction. Each module is specified in a separate file.
The extraction
app also contains the modules.py
file, which defines the database schema.
This app contains all functionality, that is required to scrutinize the content of the database. This includes the metrics dashboard and the evaluation view.
This app contains all functionality, that is required to create synthetic patient journeys.