SciPaMaTo (Scientific Paper Management Tool) is a database centric application that was developed for and with the LUDOK team of the Swiss Tropical and Public Health Institute (Swiss TPH) located in Basel, Switzerland.
LUDOK (in German: "Dokumentationsstelle Luftverschmutzung und Gesundheit") is a documentation office that has been collecting and cataloguing scientific literature regarding the effects of air pollution on human health for over 30 years. This is a service LUDOK provides on behalf of the Swiss Federal Office for the Environment (FOEN).
SciPaMaTo was developed under the BSD-3 license to replace the former Filemaker Database that has been serving its purpose for many years.
SciPaMaTo consists of two main components:
-
SciPaMaTo-Core is used by the LUDOK team internally. The team, upon scanning new literature from various sources, adds the relevant items of information about relevant studies into the application, supplemented with keywords, codes, PDFs and with a short summary in German. The tools assists the process of selecting relevant studies for the bi-monthly newsletter addressing newest findings regarding air pollution and health.
-
SciPaMaTo-Public is part of the public web-page of SwissTPH and provides a public database search facility on the LUDOK database and displays a German summary. In addition, it also provides an overview on the studies that were selected for the various newsletters (the New Study page).
SciPaMaTo is a Spring Boot web-application using Apache Wicket as front-end and stores the data in PostgreSQL-Databases. It offers simplified ways of importing relevant items of information from Pubmed. SciPaMaTo offers quite extensive search facilities that allow scrutinizing the database. Parts of the data managed within ScipMaTo-Core can be synchronized into SciPaMaTo-Public, which is accessible for the interested public over the internet.
-
Java & Kotlin
-
Presentation Layer
-
Apache Wicket with Bootstrap
-
JasperReport for PDF generation
-
Feign as HTTP client to PubMed
-
jaxb for XML parsing
-
-
Persistence Layer
-
Flyway for database migrations
-
jOOQ modelator gradle plugin (running jOOQ code generation against a flyway-migrated dockerized db)
-
Testcontainers (running integration tests against the dockerized db)
-
Spring Batch for pushing data from the core to the public database
-
Caching
-
JCache with Ehcache3
-
I started using Structure101 to assess and track the architecture of SciPaMaTo. Many thanks to the friendly people of Structure101 to provide a free license for SciPaMaTo as an open source project!
Refer to the Quick-Start Guide to get the project up and running as quickly as possible.
See Developer Wiki
See Operations Wiki