You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-17Lines changed: 12 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -96,7 +96,7 @@ Finally, the sample metadata are registered in a purpose-built database and be r
96
96
This allows users to search and retrieve sample metadata through both programmatic and web interfaces while providing stable, persistent
97
97
and unique identifiers for each record.
98
98
99
-
<imgsrc="./docs/source/_static/img/user_story.png"alt="Metadata pipeline for sample exposure and collection"style="max-width:700px; margin:auto; display:block;"/>
99
+
<imgsrc="https://raw.githubusercontent.com/precisiontox/ptox-metadata-manager/main/docs/source/_static/img/user_story.png"alt="Metadata pipeline for sample exposure and collection"style="max-width:700px; margin:auto; display:block;"/>
100
100
101
101
## Getting started
102
102
### Requirements:
@@ -187,35 +187,30 @@ It is responsible for the user interface and the communication with the API.
187
187
188
188
### The backend API
189
189
It is hosted in this repository. It contains a [Flask](https://flask.palletsprojects.com/en/2.3.x/) application exposing a REST API and is plugged to a relational
190
-
database through [SQLAlchemy](https://www.sqlalchemy.org/).
190
+
database through [SQLAlchemy](https://www.sqlalchemy.org/). It is responsible for authentication, all functionalities logic and the persistence of
191
+
(meta)-data.
191
192
192
193
### Development process
193
-
It is responsible for authentication, all functionalities logic and the persistence of
194
-
(meta)-data. It provides a [Swagger documentation](http://mmapi.precisiontox.org/apidocs/) describing the API usage
195
-
and enabling to build and run queries through a web UI. The code is documented using ``docstrings``
196
-
and the documentation is available on [readTheDocs](https://pretox-metadata-manager.readthedocs.io/en/latest/?badge=latest).
194
+
The API documentation is provided by a [Swagger documentation](http://mmapi.precisiontox.org/apidocs/), letting users query the API
195
+
through a web UI. The code is documented using ``docstrings`` and the documentation is available on
The application is entirely unit-tested, typehints are checked with ``mypy``, code quality is surveyed by ``Codacy``
198
198
and styles are enforced by ``flake8``, all as part of the continuous integration pipeline.
199
199
200
200
#### Components
201
201
The application source code is contained in the ``ptmd`` directory and divided as such:
202
-
- The ``api`` directory contains the flask application exposing the REST API. It includes routes definitions, the
203
-
JSON Web Token authentication logic and the validation of user inputs through JSON Schema.
204
-
- The ``boot`` directory contains the code responsible for booting the application, like seeding the initial data into
205
-
the database.
202
+
- The ``api`` directory contains the flask application exposing the REST API. It includes routes definitions, the JSON Web Token authentication logic and the validation of user inputs through JSON Schema.
203
+
- The ``boot`` directory contains the code responsible for booting the application, like seeding the initial data into the database.
206
204
- The ``const`` directory contains the constants used throughout the application.
207
-
- The ``database`` directory contains the database models and complex queries. Interactions with the database is mostly
208
-
defined as methods of the model classes.
209
-
- The ``lib`` directory contains the code responsible for the business logic, like the interactions with the spreadsheets
210
-
and the Google Drive API, sending emails and generating ISA-JSON files.
211
-
- The ``resources`` directory contains the assets used by the application, like JSON schemas, swagger yaml files, data
212
-
files for organisations and chemicals, etc.
205
+
- The ``database`` directory contains the database models and complex queries. Interactions with the database is mostly defined as methods of the model classes.
206
+
- The ``lib`` directory contains the code responsible for the business logic, like the interactions with the spreadsheets and the Google Drive API, sending emails and generating ISA-JSON files.
207
+
- The ``resources`` directory contains the assets used by the application, like JSON schemas, swagger yaml files, data files for organisations and chemicals, etc.
213
208
214
209
Tests are contained in the ``tests`` directory and divided mirroring the application exact structure. They require no
215
210
data files and no interaction with the database to be executed.
0 commit comments