Study Tracker makes the job of managing your team's research easier by providing a user-friendly web application that serves as a single source-of-truth for your organization. Save time by connecting with other required platforms, such as electronic laboratory notebooks (ELNs), data file storage systems, and team messaging services. Integrate Study Tracker with other platforms via an integrated REST API and event dispatcher service for sharing of data.
Looking for a fully-managed Study Tracker? Take a look at Lab Atlas.
- JDK 17+
- Maven 3+
- PostgreSQL 12+
- OpenSearch 2+ (optional)
NodeJS and NPM are not required for building and running the project, as the
frontend-maven-plugin
installs them at build time, in order to properly compile the front-end of
the application.
Starting in v1.0, Study Tracker now requires Java 17 and now supports OpenSearch in place of ElasticSearch. Some older initialization scripts have also been removed, so if you are coming from earlier than v0.9.0, you will first want to upgrade to v0.9.11 and then to v1.0+.
For instructions about how to configure deploy Study Tracker, see Gitbook.
- Benchling
- Microsoft SharePoint & OneDrive
- Egnyte
- Amazon S3
- Local filesystem
- AWS EventBridge
- Okta
- Microsoft Entra ID (Azure AD)
- GitLab
For a rapid build and deployment in development mode, follow the steps below. For production deployment, see the wiki.
-
Make sure you have all requirements installed.
-
Create a new PostgreSQL database.
-
Create a new file,
web/src/main/resources/application.properties
. Use theapplication.properties.example
file as a template for filling out the required parameters for running the application. -
Create a new file,
web/flyway.conf
, using theflyway.conf.example
file as a template. Fill in your database's username, password, and connection URL. -
Build the application with the included Maven wrapper:
./mvnw clean package -DskipTests
-
Run the Flyway plugin to import the Study Tracker database schema and default data:
./mvnw -Dflyway.configFiles=web/flyway.conf flyway:clean flyway:migrate
-
You can run the application with Maven from the
web
directory:./mvnw spring-boot:run
Or, you can execute the packaged WAR file directly:
java -jar web/target/study-tracker.war
An official Study Tracker Docker image is available from the GitHub Container Registry. You can build the image locally from source by running the following command from the root of the project:
docker buildx build --platform linux/amd64 -t study-tracker .
An example docker-compose.yml
file is available in the root of the project, which you can use
for quickly spinning up a local instance of Study Tracker with PostgreSQL.
-
Create a folder name
.docker
. -
Create two folders inside
.docker
namedconfig
anddata
. -
Create a file named
application.properties
inside the.docker/config
folder, and copy the following contents into it:server.port=8080 application.host-name=localhost application.secret=studytrackerstudytracker admin.email=your-email@domain.com admin.password=password storage.temp-dir=/tmp storage.local-dir=/data
-
Run the following command from the root of the project to start the application:
docker compose -f docker-compose.yml up
-
You can now access Study Tracker at
http://localhost:8080
and log in with the email and password defined in theapplication.properties
file.
For questions about Study Tracker, or if you would like to contribute, please contact:
For support or feature requests:
Copyright 2019-2025 the original authors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.