From 272c8d2268b86bc91a7e55d654582607f208540a Mon Sep 17 00:00:00 2001 From: Robert Jandow <38583713+robertjndw@users.noreply.github.com> Date: Thu, 9 Jan 2025 15:42:07 +0100 Subject: [PATCH] Rename Dockerfiles and deployment --- .github/workflows/build_docker.yml | 4 ++-- README.md | 10 +++++----- docker-compose.prod.yml | 30 +++++++++++++++--------------- docker-compose.yml | 16 ++++++++-------- docs/DATABASE.md | 2 +- server.Dockerfile | 6 +++--- thesis-track-backup.sh | 2 +- 7 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/workflows/build_docker.yml b/.github/workflows/build_docker.yml index 7b6e7eab..94746ef5 100644 --- a/.github/workflows/build_docker.yml +++ b/.github/workflows/build_docker.yml @@ -18,11 +18,11 @@ jobs: matrix: include: - dockerfile: ./client.Dockerfile - image: ghcr.io/ls1intum/thesis-track/thesis-track-client + image: ghcr.io/ls1intum/thesis-management/thesis-management-client context: ./ path: client - dockerfile: ./server.Dockerfile - image: ghcr.io/ls1intum/thesis-track/thesis-track-server + image: ghcr.io/ls1intum/thesis-management/thesis-management-server context: ./ path: server outputs: diff --git a/README.md b/README.md index a27c276b..c48a6a6b 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# ThesisTrack +# ThesisManagement (previously ThesisTrack) -ThesisTrack is a web-based thesis management system designed to streamline the thesis process in academic institutions by integrating essential stages into a single platform. +ThesisManagement is a web-based thesis management system designed to streamline the thesis process in academic institutions by integrating essential stages into a single platform. Developed to address challenges in managing large volumes of theses, it facilitates seamless interactions between students, advisors, and supervisors. Key features include a centralized application process, guided workflows for thesis writing, automated notifications, and a comprehensive Gantt chart for tracking progress. -By consolidating communication, feedback, and file management, ThesisTrack enhances transparency, reduces administrative burdens, and fosters efficient thesis supervision and assessment. +By consolidating communication, feedback, and file management, ThesisManagement enhances transparency, reduces administrative burdens, and fosters efficient thesis supervision and assessment. -ThesisTrack was developed as part of this [bachelor's thesis](docs/files/ba-thesis-fabian-emilius.pdf). +ThesisManagement was developed as part of this [bachelor's thesis](docs/files/ba-thesis-fabian-emilius.pdf). ## User Documentation @@ -102,7 +102,7 @@ Supervisor, Advisor and Student means that the user is directly assigned to the ## Features -The following flowchart diagrams provide a visual overview of the thesis processes implemented in ThesisTrack. +The following flowchart diagrams provide a visual overview of the thesis processes implemented in ThesisManagement. These diagrams illustrate the step-by-step workflows involved, from thesis topic selection and application submission to the final grading and completion stages. They highlight key actions, decision points, and interactions between students, advisors, and supervisors, clarifying how tasks are sequenced and managed within the system. These flowcharts offer a quick reference for understanding how each role engages in the thesis process, ensuring transparency and consistency in task progression and responsibilities across different stages. diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 8fb056b3..062dbd0b 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -6,7 +6,7 @@ services: command: - "--providers.docker=true" - "--providers.docker.exposedByDefault=false" - - "--providers.docker.network=thesis-track-network" + - "--providers.docker.network=thesis-management-network" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--entrypoints.web.http.redirections.entryPoint.to=websecure" @@ -22,11 +22,11 @@ services: - /var/run/docker.sock:/var/run/docker.sock - ./letsencrypt:/letsencrypt networks: - - thesis-track-network + - thesis-management-network server: - image: "ghcr.io/ls1intum/thesis-track/thesis-track-server:${SERVER_IMAGE_TAG}" - container_name: thesis-track-server + image: "ghcr.io/ls1intum/thesis-management/thesis-management-server:${SERVER_IMAGE_TAG}" + container_name: thesis-management-server labels: - "traefik.enable=true" - "traefik.http.routers.server.rule=Host(`${APP_HOSTNAME}`) && PathPrefix(`/api`)" @@ -77,11 +77,11 @@ services: - GIT_COMMIT - GIT_BRANCH networks: - - thesis-track-network + - thesis-management-network client: - image: "ghcr.io/ls1intum/thesis-track/thesis-track-client:${CLIENT_IMAGE_TAG}" - container_name: thesis-track-client + image: "ghcr.io/ls1intum/thesis-management/thesis-management-client:${CLIENT_IMAGE_TAG}" + container_name: thesis-management-client labels: - "traefik.enable=true" - "traefik.http.routers.client.rule=Host(`${APP_HOSTNAME}`)" @@ -112,11 +112,11 @@ services: depends_on: - server networks: - - thesis-track-network + - thesis-management-network db: image: "postgres:17.1-alpine" - container_name: thesis-track-db + container_name: thesis-management-db environment: - POSTGRES_USER=${SPRING_DATASOURCE_USERNAME} - POSTGRES_PASSWORD=${SPRING_DATASOURCE_PASSWORD} @@ -128,20 +128,20 @@ services: timeout: 5s retries: 5 networks: - - thesis-track-network + - thesis-management-network postfix: image: ghcr.io/ls1admin/postfix:latest - container_name: thesis-track-postfix + container_name: thesis-management-postfix restart: unless-stopped volumes: - ./postfix-config:/config hostname: ${APP_HOSTNAME} networks: - - thesis-track-network + - thesis-management-network networks: - # Create network manually in advance: docker network create thesis-track-network - thesis-track-network: - name: thesis-track-network + # Create network manually in advance: docker network create thesis-management-network + thesis-management-network: + name: thesis-management-network external: true diff --git a/docker-compose.yml b/docker-compose.yml index 50727275..084f8b60 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,15 +1,15 @@ services: db: image: 'postgres:17.1-alpine' - container_name: thesis-track-db + container_name: thesis-management-db volumes: - ./db_backups:/db_backups environment: - - POSTGRES_USER=thesis-track-postgres - - POSTGRES_PASSWORD=thesis-track-postgres - - POSTGRES_DB=thesis-track + - POSTGRES_USER=thesis-management-postgres + - POSTGRES_PASSWORD=thesis-management-postgres + - POSTGRES_DB=thesis-management healthcheck: - test: ["CMD-SHELL", "pg_isready -d thesis-track -U thesis-track-postgres"] + test: ["CMD-SHELL", "pg_isready -d thesis-management -U thesis-management-postgres"] interval: 5s timeout: 5s retries: 5 @@ -18,7 +18,7 @@ services: #postfix: # image: ghcr.io/ls1admin/postfix:latest - # container_name: thesis-track-postfix + # container_name: thesis-management-postfix # restart: unless-stopped # volumes: # - ./postfix-config:/config # See https://github.com/ls1admin/postfix-container-tum-mailrelay/tree/main for details @@ -28,13 +28,13 @@ services: caldav: image: tomsquest/docker-radicale:3.3.0.1 - container_name: thesis-track-caldav + container_name: thesis-management-caldav ports: - "5232:5232" keycloak: image: quay.io/keycloak/keycloak:26.0 - container_name: thesis-track-keycloak + container_name: thesis-management-keycloak environment: KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: admin diff --git a/docs/DATABASE.md b/docs/DATABASE.md index 7c3ec8a7..089f817a 100644 --- a/docs/DATABASE.md +++ b/docs/DATABASE.md @@ -1,6 +1,6 @@ # Database Changes -ThesisTrack employs liquibase technology for database migrations. Upon a database schema change, follow the steps: +ThesisManagement employs liquibase technology for database migrations. Upon a database schema change, follow the steps: 1. Create a new changeset by adding a new script in the [changelog folder](/server/src/main/resources/db/changelog/changes) 2. Include the new changeset script into the [master changelog file](/server/src/main/resources/db/changelog/db.changelog-master.xml) diff --git a/server.Dockerfile b/server.Dockerfile index 70bf483f..43c3281f 100644 --- a/server.Dockerfile +++ b/server.Dockerfile @@ -1,7 +1,7 @@ FROM gradle:8.11.1-jdk21 AS build -COPY --chown=gradle:gradle . /home/gradle/thesis-track -WORKDIR /home/gradle/thesis-track/server +COPY --chown=gradle:gradle . /home/gradle/thesis-management +WORKDIR /home/gradle/thesis-management/server RUN gradle build -x test --no-daemon @@ -11,6 +11,6 @@ EXPOSE 8080 RUN mkdir /app -COPY --from=build /home/gradle/thesis-track/server/build/libs/*.jar /app/server.jar +COPY --from=build /home/gradle/thesis-management/server/build/libs/*.jar /app/server.jar ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-jar","/app/server.jar"] diff --git a/thesis-track-backup.sh b/thesis-track-backup.sh index 64a4bf6a..44d76d57 100644 --- a/thesis-track-backup.sh +++ b/thesis-track-backup.sh @@ -2,7 +2,7 @@ # Configuration BACKUP_DIR="./backups" # Directory to store backups -DB_CONTAINER="thesis-track-db" # PostgreSQL container name +DB_CONTAINER="thesis-management-db" # PostgreSQL container name UPLOADS_DIR="./thesis_uploads" # Path to thesis_uploads folder DB_USER=$(grep SPRING_DATASOURCE_USERNAME .env.prod | cut -d '=' -f 2) # Extract DB user from .env.prod DB_NAME=$(grep SPRING_DATASOURCE_DATABASE .env.prod | cut -d '=' -f 2) # Extract DB name from .env.prod