These are all environment variables that can be used to configure the application.
| Variable Name | Services | Default Value | Description |
|---|---|---|---|
| SPRING_DATASOURCE_URL | server | jdbc:postgresql://localhost:5432/thesis-management | Postgres connection url |
| SPRING_DATASOURCE_USERNAME | server | thesis-management-postgres | Postgres username |
| SPRING_DATASOURCE_PASSWORD | server | thesis-management-postgres | Postgres password |
| KEYCLOAK_HOST | server, client | http://localhost:8081 | Keycloak hostname |
| KEYCLOAK_REALM_NAME | server, client | thesis-management | Keycloak realm name |
| KEYCLOAK_CLIENT_ID | server, client | thesis-management-app | Keycloak client id |
| KEYCLOAK_SERVICE_CLIENT_ID | server | Keycloak service client id | |
| KEYCLOAK_SERVICE_CLIENT_SECRET | server | Keycloak service client secret | |
| KEYCLOAK_SERVICE_STUDENT_GROUP_NAME | server | Keycloak group name that should be assigned when a student starts writing a thesis | |
| POSTFIX_HOST | server | localhost | Postfix host to send emails. Only required if emails are enabled. |
| POSTFIX_PORT | server | 25 | Postfix port |
| POSTFIX_USERNAME | server | Postfix username | |
| POSTFIX_PASSWORD | server | Postfix password | |
| CLIENT_HOST | server, client | http://localhost:3000 | Hosting url of client |
| SERVER_HOST | client | http://localhost:8080 | Hosting url of server |
| MAIL_ENABLED | server | false | If set to true, the application will try to send emails via Postfix |
| MAIL_SENDER | server | test@ios.ase.cit.tum.de | Sender email address |
| UPLOAD_FOLDER | server | uploads | Folder where uploaded files will be stored |
| APPLICATION_TITLE | client | Thesis Management | HTML title of the client |
| GENDERS | client | {"MALE":"Male","FEMALE":"Female","OTHER":"Other","PREFER_NOT_TO_SAY":"Prefer not to say"} |
Available genders that a user can configure |
| STUDY_DEGREES | client | {"BACHELOR":"Bachelor","MASTER":"Master"} |
Available study degrees |
| STUDY_PROGRAMS | client | {"COMPUTER_SCIENCE":"Computer Science","INFORMATION_SYSTEMS":"Information Systems","GAMES_ENGINEERING":"Games Engineering","MANAGEMENT_AND_TECHNOLOGY":"Management and Technology","OTHER":"Other"} |
Available study programs |
| THESIS_TYPES | client | {"BACHELOR":{"long":"Bachelor Thesis","short":"BA"},"MASTER":{"long":"Master Thesis","short":"MA"},"INTERDISCIPLINARY_PROJECT":{"long":"Interdisciplinary Project","short":"IDP"},"GUIDED_RESEARCH":{"long":"Guided Research","short":"GR"}} |
Available thesis types |
| LANGUAGES | client | {"ENGLISH":"English","GERMAN":"German"} |
Available languages for presentations |
| CUSTOM_DATA | client | {"GITHUB":{"label":"Github Profile","required":false}} |
Additional data the user can add to the profile |
| THESIS_FILES | client | {"PRESENTATION":{"label":"Presentation","description":"Presentation (PDF)","accept":"pdf","required":true},"PRESENTATION_SOURCE":{"label":"Presentation Source","description":"Presentation Source (KEY, PPTX)","accept":"any","required":false},"FEEDBACK_LOG":{"label":"Feedback Log","description":"Feedback Log (PDF)","accept":"pdf","required":false}} |
Additional files the student can add to the thesis |
| DATA_RETENTION_CRON | server | 0 0 4 * * * | Cron expression for the nightly data retention cleanup job. Set to - to disable. |
| REJECTED_APP_RETENTION_DAYS | server | 365 | Number of days to retain rejected applications before automatic deletion. |
| DATA_EXPORT_PATH | server | data-exports | Directory where data export ZIP files are stored. Should be backed up if persistent exports are needed. |
| DATA_EXPORT_RETENTION_DAYS | server | 7 | Number of days to keep data export files before automatic deletion. |
| DATA_EXPORT_COOLDOWN_DAYS | server | 7 | Minimum number of days between data export requests per user. |
| INACTIVE_USER_DAYS | server | 365 | Number of days of inactivity after which student accounts are automatically disabled. |
| CHAIR_NAME | client | Thesis Management | Chair name |
| CHAIR_URL | client | window.origin | URL to chair website |