diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index c55f34d..4af1d96 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -9,41 +9,7 @@ env: REGISTRY: ghcr.io jobs: - Front-End: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - driver-opts: | - image=moby/buildkit:v0.10.6 - - name: Log in to the GitHub Container registry - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: Informatievlaanderen - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/Informatievlaanderen/vsds-demonstrator-ui - tags: | - type=raw,value={{date 'YYYYMMDDHHmmss'}} - type=raw,value=latest - - name: Build and push Docker image - uses: docker/build-push-action@v3 - with: - context: ./vue-frontend - push: true - file: ./vue-frontend/Dockerfile - tags: ${{ steps.meta.outputs.tags }} - platforms: linux/amd64,linux/arm64 - - Back-end: + demonstrator: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -55,7 +21,7 @@ jobs: - name: Build and analyze env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: mvn -f ./spring-boot-backend/pom.xml -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=informatievlaanderen_vsds-demonstrator -Pcoverage + run: mvn -f ./pom.xml -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=informatievlaanderen_vsds-demonstrator -Pcoverage - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx @@ -73,15 +39,15 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: ${{ env.REGISTRY }}/Informatievlaanderen/vsds-demonstrator-server + images: ${{ env.REGISTRY }}/Informatievlaanderen/vsds-demonstrator tags: | type=raw,value={{date 'YYYYMMDDHHmmss'}} type=raw,value=latest - name: Build and push Docker image uses: docker/build-push-action@v3 with: - context: ./spring-boot-backend/ + context: . push: true - file: ./spring-boot-backend/Dockerfile + file: ./Dockerfile tags: ${{ steps.meta.outputs.tags }} platforms: linux/amd64,linux/arm64 diff --git a/.gitignore b/.gitignore index f68d109..c1cb196 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,12 @@ bin/ .vscode/ ### Mac OS ### -.DS_Store \ No newline at end of file +.DS_Store + +node_modules +/frontend/node/ +/.idea/ +target +*.iml +./backend/src/main/resources/public/ +derby.log \ No newline at end of file diff --git a/spring-boot-backend/Dockerfile b/Dockerfile similarity index 63% rename from spring-boot-backend/Dockerfile rename to Dockerfile index bb81339..b8214ea 100644 --- a/spring-boot-backend/Dockerfile +++ b/Dockerfile @@ -16,9 +16,9 @@ RUN mvn clean install -DskipTests FROM openjdk:18-ea-bullseye RUN apt-get update & apt-get upgrade -COPY --from=app-stage target/spring-boot-backend.jar ./ +COPY --from=app-stage backend/target/vsds-demonstrator.jar ./ -RUN useradd -u 2000 spring-boot-backed -USER spring-boot-backed +RUN useradd -u 2000 vsds-demonstrator +USER vsds-demonstrator -CMD ["java", "-jar", "spring-boot-backend.jar"] \ No newline at end of file +CMD ["java", "-jar", "vsds-demonstrator.jar"] \ No newline at end of file diff --git a/spring-boot-backend/examples/example-application.yaml b/backend/examples/example-application.yaml similarity index 97% rename from spring-boot-backend/examples/example-application.yaml rename to backend/examples/example-application.yaml index 3ef4bbd..2612864 100644 --- a/spring-boot-backend/examples/example-application.yaml +++ b/backend/examples/example-application.yaml @@ -19,4 +19,4 @@ graphdb: url: "http://localhost:8080/rdf4j-server/repositories/" repositoryId: "test" server: - port: 8084 \ No newline at end of file + port: 8080 \ No newline at end of file diff --git a/spring-boot-backend/pom.xml b/backend/pom.xml similarity index 87% rename from spring-boot-backend/pom.xml rename to backend/pom.xml index 2ea1f73..267617a 100644 --- a/spring-boot-backend/pom.xml +++ b/backend/pom.xml @@ -5,8 +5,8 @@ 4.0.0 be.informatievlaanderen.vsds.demonstrator - spring-boot-backend - 1.0-SNAPSHOT + backend + 1.0.0-SNAPSHOT @@ -29,17 +29,7 @@ 2.35.0 4.3.3 - - 0.8.10 - jacoco - reuseReports - ${project.basedir}/target/site/jacoco/jacoco.xml - - java - https://sonarcloud.io - informatievlaanderen - informatievlaanderen_vsds-demonstrator @@ -199,7 +189,7 @@ - ${project.artifactId} + vsds-demonstrator @@ -226,6 +216,32 @@ maven-failsafe-plugin ${maven-surefire-plugin.version} + + maven-resources-plugin + + + copy Vue.js frontend content + generate-resources + + copy-resources + + + src/main/resources/public + true + + + ..\frontend\target\dist + + assets/ + index.html + favicon.ico + + + + + + + diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/Application.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/Application.java similarity index 62% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/Application.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/Application.java index 49b7afb..9f905e4 100644 --- a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/Application.java +++ b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/Application.java @@ -3,6 +3,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @SpringBootApplication public class Application { diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/EventStreamConfig.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/EventStreamConfig.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/EventStreamConfig.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/EventStreamConfig.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/StreamsConfig.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/StreamsConfig.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/StreamsConfig.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/config/StreamsConfig.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/InvalidGeometryProvidedException.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/InvalidGeometryProvidedException.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/InvalidGeometryProvidedException.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/InvalidGeometryProvidedException.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/NoGeometryProvidedException.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/NoGeometryProvidedException.java similarity index 55% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/NoGeometryProvidedException.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/NoGeometryProvidedException.java index 7fb4b49..a2f61ba 100644 --- a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/NoGeometryProvidedException.java +++ b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/NoGeometryProvidedException.java @@ -1,8 +1,8 @@ package be.informatievlaanderen.vsds.demonstrator.member.application.exceptions; public class NoGeometryProvidedException extends RuntimeException { - @Override - public String getMessage() { - return "No geometry could be found in the provided member"; - } + @Override + public String getMessage() { + return "No geometry could be found in the provided member"; + } } diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/ResourceNotFoundException.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/ResourceNotFoundException.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/ResourceNotFoundException.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/exceptions/ResourceNotFoundException.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberService.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberService.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberService.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberService.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImpl.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImpl.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImpl.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImpl.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/IngestedMemberDto.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/IngestedMemberDto.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/IngestedMemberDto.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/IngestedMemberDto.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/MemberDto.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/MemberDto.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/MemberDto.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/application/valueobjects/MemberDto.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/Member.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/Member.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/Member.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/Member.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/repositories/MemberRepository.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/repositories/MemberRepository.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/repositories/MemberRepository.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/repositories/MemberRepository.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntity.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntity.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntity.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntity.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntityJpaRepository.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntityJpaRepository.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntityJpaRepository.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberEntityJpaRepository.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImpl.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImpl.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImpl.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImpl.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MemberExceptionHandler.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MemberExceptionHandler.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MemberExceptionHandler.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MemberExceptionHandler.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersController.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersController.java similarity index 98% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersController.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersController.java index a8c989f..54898dc 100644 --- a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersController.java +++ b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersController.java @@ -11,6 +11,7 @@ import java.util.List; @RestController +@RequestMapping("api") public class MembersController { private final MemberService service; diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/converters/ModelHttpConverter.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/converters/ModelHttpConverter.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/converters/ModelHttpConverter.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/converters/ModelHttpConverter.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/CoordinateDto.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/CoordinateDto.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/CoordinateDto.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/CoordinateDto.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/MapBoundsDto.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/MapBoundsDto.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/MapBoundsDto.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/dtos/MapBoundsDto.java diff --git a/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/MessageController.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/MessageController.java new file mode 100644 index 0000000..3f32754 --- /dev/null +++ b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/MessageController.java @@ -0,0 +1,24 @@ +package be.informatievlaanderen.vsds.demonstrator.member.rest.websocket; + +import be.informatievlaanderen.vsds.demonstrator.member.application.valueobjects.MemberDto; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.simp.SimpMessagingTemplate; +import org.springframework.stereotype.Controller; + +@Controller +public class MessageController { + private SimpMessagingTemplate template; + private static final Logger log = LoggerFactory.getLogger(WebSocketConfig.class); + + @Autowired + public MessageController(SimpMessagingTemplate template) { + this.template = template; + } + + public void send(MemberDto member) { + log.info("sending member"); + this.template.convertAndSend("/broker/member", member); + } +} diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/WebSocketConfig.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/WebSocketConfig.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/WebSocketConfig.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/WebSocketConfig.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleService.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleService.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleService.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleService.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImpl.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImpl.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImpl.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImpl.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/Triple.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/Triple.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/Triple.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/Triple.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/entities/MemberDescription.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/entities/MemberDescription.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/entities/MemberDescription.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/entities/MemberDescription.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/repositories/TripleRepository.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/repositories/TripleRepository.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/repositories/TripleRepository.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/domain/repositories/TripleRepository.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/GraphDBConfig.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/GraphDBConfig.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/GraphDBConfig.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/GraphDBConfig.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImpl.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImpl.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImpl.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImpl.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/exceptions/TripleFetchFailedException.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/exceptions/TripleFetchFailedException.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/exceptions/TripleFetchFailedException.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/exceptions/TripleFetchFailedException.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TripleExceptionHandler.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TripleExceptionHandler.java similarity index 100% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TripleExceptionHandler.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TripleExceptionHandler.java diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesController.java b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesController.java similarity index 92% rename from spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesController.java rename to backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesController.java index 63bffd7..0818c0f 100644 --- a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesController.java +++ b/backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesController.java @@ -5,11 +5,13 @@ import jakarta.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController +@RequestMapping("api") public class TriplesController { private final TripleService tripleService; diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImplTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImplTest.java similarity index 100% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImplTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/application/services/MemberServiceImplTest.java diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/MemberTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/MemberTest.java similarity index 100% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/MemberTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/domain/member/entities/MemberTest.java diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImplTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImplTest.java similarity index 100% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImplTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/infra/MemberRepositoryImplTest.java diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersControllerTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersControllerTest.java similarity index 95% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersControllerTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersControllerTest.java index 6e25268..167c6d8 100644 --- a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersControllerTest.java +++ b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/member/rest/MembersControllerTest.java @@ -72,7 +72,7 @@ void when_MemberGeometryPresent_then_MemberGeomtryIsReturned_and_StatusIs200() t when(service.getMemberById(ID)).thenReturn(dto); - mockMvc.perform(get("/geometry/" + ID).accept(MediaType.APPLICATION_JSON)) + mockMvc.perform(get("/api/geometry/" + ID).accept(MediaType.APPLICATION_JSON)) .andExpect(content().json(json)) .andExpect(status().isOk()); @@ -83,7 +83,7 @@ void when_MemberGeometryPresent_then_MemberGeomtryIsReturned_and_StatusIs200() t void when_MemberGeometryIsNotPresent_then_StatusIs404() throws Exception { when(service.getMemberById(ID)).thenThrow(ResourceNotFoundException.class); - mockMvc.perform(get("/geometry/" + ID).accept(MediaType.APPLICATION_JSON)) + mockMvc.perform(get("/api/geometry/" + ID).accept(MediaType.APPLICATION_JSON)) .andExpect(status().isNotFound()); verify(service).getMemberById(ID); @@ -101,7 +101,7 @@ void when_MapBoundariesArePosted_then_ReturnMemberGeometries() throws Exception when(service.getMembersInRectangle(rectangle, timestamp, timePeriod)).thenReturn(members); - mockMvc.perform(post("/in-rectangle") + mockMvc.perform(post("/api/in-rectangle") .param("timestamp", timestamp.toString()) .param("timePeriod", timePeriod) .contentType(MediaType.APPLICATION_JSON) @@ -116,7 +116,7 @@ void when_MapBoundariesArePosted_then_ReturnMemberGeometries() throws Exception class IngestMember { @Test void when_MemberWithInvalidGeometryIsPosted_then_Status400IsExpected() throws Exception { - mockMvc.perform(post("/members") + mockMvc.perform(post("/api/members") .content(readDataFromFile("members/mobility-hindrance-with-invalid-wkt.nq")) .contentType(Lang.NQUADS.getHeaderString())) .andExpect(status().isBadRequest()); @@ -124,7 +124,7 @@ void when_MemberWithInvalidGeometryIsPosted_then_Status400IsExpected() throws Ex @Test void when_MemberIsPosted_then_IngestMemberInService() throws Exception { - mockMvc.perform(post("/members") + mockMvc.perform(post("/api/members") .content(readDataFromFile("members/mobility-hindrance.nq")) .contentType(Lang.NQUADS.getHeaderString())) .andExpect(status().isOk()); diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImplTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImplTest.java similarity index 100% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImplTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/services/TripleServiceImplTest.java diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/TripleTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/TripleTest.java similarity index 100% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/TripleTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/application/valueobjects/TripleTest.java diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplTest.java similarity index 96% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplTest.java index c4110b2..5bcedf3 100644 --- a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplTest.java +++ b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplTest.java @@ -21,7 +21,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.*; import static org.junit.jupiter.api.Assertions.*; -@WireMockTest(httpPort = 8080) +@WireMockTest(httpPort = 8189) class TripleRepositoryImplTest { private static final String MEMBER_ID = "https://private-api.gipod.beta-vlaanderen.be/api/v1/mobility-hindrances/10810464/#ID"; private static final String ENDPOINT = "/rdf4j-server/repositories/test"; @@ -30,7 +30,7 @@ class TripleRepositoryImplTest { @BeforeAll static void beforeAll() { - graphDbConfig.setUrl("http://localhost:8080/rdf4j-server/repositories/"); + graphDbConfig.setUrl("http://localhost:8189/rdf4j-server/repositories/"); graphDbConfig.setRepositoryId("test"); } diff --git a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesControllerTest.java b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesControllerTest.java similarity index 95% rename from spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesControllerTest.java rename to backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesControllerTest.java index c169810..bea4359 100644 --- a/spring-boot-backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesControllerTest.java +++ b/backend/src/test/java/be/informatievlaanderen/vsds/demonstrator/triple/rest/TriplesControllerTest.java @@ -43,7 +43,7 @@ void when_triplesFetchingSucceeded_then_ReturnStatus200() throws Exception { String json = new ObjectMapper().writeValueAsString(triples); when(tripleService.getTriplesById(ID)).thenReturn(triples); - mockMvc.perform(get(URI.create("/triples/" + ID))) + mockMvc.perform(get(URI.create("/api/triples/" + ID))) .andExpect(status().isOk()) .andExpect(content().json(json)); @@ -54,7 +54,7 @@ void when_triplesFetchingSucceeded_then_ReturnStatus200() throws Exception { void when_triplesFetchingFails_then_ReturnStatus404() throws Exception { when(tripleService.getTriplesById(ID)).thenThrow(new TripleFetchFailedException(ID, new RuntimeException())); - mockMvc.perform(get(URI.create("/triples/" + ID))) + mockMvc.perform(get(URI.create("/api/triples/" + ID))) .andExpect(status().isNotFound()); verify(tripleService).getTriplesById(ID); diff --git a/spring-boot-backend/src/test/resources/application-test.yaml b/backend/src/test/resources/application-test.yaml similarity index 100% rename from spring-boot-backend/src/test/resources/application-test.yaml rename to backend/src/test/resources/application-test.yaml diff --git a/spring-boot-backend/src/test/resources/mapbounds/rectangle.json b/backend/src/test/resources/mapbounds/rectangle.json similarity index 100% rename from spring-boot-backend/src/test/resources/mapbounds/rectangle.json rename to backend/src/test/resources/mapbounds/rectangle.json diff --git a/spring-boot-backend/src/test/resources/members/mobility-hindrance-with-invalid-wkt.nq b/backend/src/test/resources/members/mobility-hindrance-with-invalid-wkt.nq similarity index 100% rename from spring-boot-backend/src/test/resources/members/mobility-hindrance-with-invalid-wkt.nq rename to backend/src/test/resources/members/mobility-hindrance-with-invalid-wkt.nq diff --git a/spring-boot-backend/src/test/resources/members/mobility-hindrance.nq b/backend/src/test/resources/members/mobility-hindrance.nq similarity index 100% rename from spring-boot-backend/src/test/resources/members/mobility-hindrance.nq rename to backend/src/test/resources/members/mobility-hindrance.nq diff --git a/docker-compose.yml b/docker-compose.yml index d97c32b..6744656 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,16 +8,16 @@ services: volumes: - ./gipod.config.yml:/ldio/application.yml:ro depends_on: - - spring-boot-backend + - demonstrator - rdf4j-server networks: - demonstrator - spring-boot-backend: - container_name: demonstrator-spring-boot-backend - image: demonstrator-spring-boot-backend + demonstrator: + container_name: demonstrator + image: vsds-demonstrator build: - context: spring-boot-backend + context: . dockerfile: Dockerfile environment: - SPRING_DATASOURCE_URL=jdbc:postgresql://postgresql:5432/test @@ -38,19 +38,6 @@ services: networks: - demonstrator - vue-frontend: - container_name: demonstrator-vue-frontend - image: demonstrator-vue-frontend - build: - context: vue-frontend - dockerfile: Dockerfile - ports: - - 8085:80 - depends_on: - - spring-boot-backend - networks: - - demonstrator - rdf4j-server: image: eclipse/rdf4j-workbench:latest container_name: demonstrator-rdf4j-server diff --git a/vue-frontend/README.md b/frontend/README.md similarity index 100% rename from vue-frontend/README.md rename to frontend/README.md diff --git a/vue-frontend/index.html b/frontend/index.html similarity index 100% rename from vue-frontend/index.html rename to frontend/index.html diff --git a/frontend/node/node.exe b/frontend/node/node.exe new file mode 100644 index 0000000..80cbfdb Binary files /dev/null and b/frontend/node/node.exe differ diff --git a/vue-frontend/package-lock.json b/frontend/package-lock.json similarity index 97% rename from vue-frontend/package-lock.json rename to frontend/package-lock.json index dc575bd..569543b 100644 --- a/vue-frontend/package-lock.json +++ b/frontend/package-lock.json @@ -25,9 +25,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.14", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.14.tgz", - "integrity": "sha512-1KucTHgOvaw/LzCVrEOAyXkr9rQlp0A1HiHRYnSUE9dmb8PvPW7o5sscg+5169r54n3vGlbx6GevTE/Iw/P3AQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -393,9 +393,9 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@livereader/graphly-d3": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@livereader/graphly-d3/-/graphly-d3-1.5.1.tgz", - "integrity": "sha512-uQVnt7MaRAiHVhfkOyUkbCwft65koVuHhBmdQfkbi52yFceryBE8O/dZcuZALSx8GQ0oTO93+qBjQQTEqryfhQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@livereader/graphly-d3/-/graphly-d3-1.5.2.tgz", + "integrity": "sha512-jb1qP1wrB/G5TtvVmGt3HozuxxFAvpQ3UI9hRb+f+mEt6pz5ORLWInwk32f+piycsHWcyguCMgqyvG/izCEwIQ==", "dependencies": { "ajv": "^8.11.2", "d3": "^7.6.1" @@ -557,9 +557,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", - "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -1024,9 +1024,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", @@ -1157,9 +1157,9 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/postcss": { - "version": "8.4.29", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", - "integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==", + "version": "8.4.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", + "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", "funding": [ { "type": "opencollective", @@ -1227,9 +1227,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", - "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", + "version": "3.29.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.3.tgz", + "integrity": "sha512-T7du6Hum8jOkSWetjRgbwpM6Sy0nECYrYRSmZjayFcOddtKJWU4d17AC3HNUk7HRuqy4p+G7aEZclSHytqUmEg==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -1344,9 +1344,9 @@ } }, "node_modules/vue-router": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz", - "integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", "dependencies": { "@vue/devtools-api": "^6.5.0" }, diff --git a/vue-frontend/package.json b/frontend/package.json similarity index 100% rename from vue-frontend/package.json rename to frontend/package.json diff --git a/frontend/pom.xml b/frontend/pom.xml new file mode 100644 index 0000000..e74bed9 --- /dev/null +++ b/frontend/pom.xml @@ -0,0 +1,53 @@ + + + 4.0.0 + + be.informatievlaanderen.vsds.demonstrator + frontend + 1.0.0-SNAPSHOT + + + + + com.github.eirslett + frontend-maven-plugin + 1.12.1 + + + + install node and npm + + install-node-and-npm + + + v20.7.0 + + + + + npm install + + npm + + + generate-resources + + + install + + + + + npm run build + + npm + + + run build + + + + + + + \ No newline at end of file diff --git a/vue-frontend/public/favicon.ico b/frontend/public/favicon.ico similarity index 100% rename from vue-frontend/public/favicon.ico rename to frontend/public/favicon.ico diff --git a/vue-frontend/src/App.vue b/frontend/src/App.vue similarity index 100% rename from vue-frontend/src/App.vue rename to frontend/src/App.vue diff --git a/vue-frontend/src/assets/base.css b/frontend/src/assets/base.css similarity index 100% rename from vue-frontend/src/assets/base.css rename to frontend/src/assets/base.css diff --git a/vue-frontend/src/assets/logo.svg b/frontend/src/assets/logo.svg similarity index 100% rename from vue-frontend/src/assets/logo.svg rename to frontend/src/assets/logo.svg diff --git a/vue-frontend/src/assets/main.css b/frontend/src/assets/main.css similarity index 100% rename from vue-frontend/src/assets/main.css rename to frontend/src/assets/main.css diff --git a/vue-frontend/src/components/graph/KnowledgeGraph.vue b/frontend/src/components/graph/KnowledgeGraph.vue similarity index 100% rename from vue-frontend/src/components/graph/KnowledgeGraph.vue rename to frontend/src/components/graph/KnowledgeGraph.vue diff --git a/vue-frontend/src/components/graph/functions/triplesToGraph.js b/frontend/src/components/graph/functions/triplesToGraph.js similarity index 100% rename from vue-frontend/src/components/graph/functions/triplesToGraph.js rename to frontend/src/components/graph/functions/triplesToGraph.js diff --git a/vue-frontend/src/components/graph/functions/update.js b/frontend/src/components/graph/functions/update.js similarity index 100% rename from vue-frontend/src/components/graph/functions/update.js rename to frontend/src/components/graph/functions/update.js diff --git a/vue-frontend/src/components/map/LeafletMap.vue b/frontend/src/components/map/LeafletMap.vue similarity index 98% rename from vue-frontend/src/components/map/LeafletMap.vue rename to frontend/src/components/map/LeafletMap.vue index c6b69dc..fafd35b 100644 --- a/vue-frontend/src/components/map/LeafletMap.vue +++ b/frontend/src/components/map/LeafletMap.vue @@ -79,7 +79,7 @@ export default { fetchMembers() { axios({ method: 'post', - url: 'http://localhost:5173/in-rectangle', + url: 'api/in-rectangle', params: { timestamp: new Date(this.time).toISOString().replace("Z", ""), timePeriod: this.timePeriod diff --git a/vue-frontend/src/components/map/mapConstants.js b/frontend/src/components/map/mapConstants.js similarity index 100% rename from vue-frontend/src/components/map/mapConstants.js rename to frontend/src/components/map/mapConstants.js diff --git a/vue-frontend/src/components/map/mobility-hindrance.js b/frontend/src/components/map/mobility-hindrance.js similarity index 100% rename from vue-frontend/src/components/map/mobility-hindrance.js rename to frontend/src/components/map/mobility-hindrance.js diff --git a/vue-frontend/src/components/map/observation.js b/frontend/src/components/map/observation.js similarity index 100% rename from vue-frontend/src/components/map/observation.js rename to frontend/src/components/map/observation.js diff --git a/vue-frontend/src/components/map/useMarkers.js b/frontend/src/components/map/useMarkers.js similarity index 98% rename from vue-frontend/src/components/map/useMarkers.js rename to frontend/src/components/map/useMarkers.js index 4c2cca3..6f75726 100644 --- a/vue-frontend/src/components/map/useMarkers.js +++ b/frontend/src/components/map/useMarkers.js @@ -141,7 +141,7 @@ export function useMarkers(memberGeometries) { let memberId = e.sourceTarget._popup._content axios({ method: 'get', - url: 'http://localhost:5173/triples/' + memberId, + url: 'api/triples/' + memberId, }).then((response) => { visualizeTriples(response.data) }); diff --git a/vue-frontend/src/components/slider/Slider.vue b/frontend/src/components/slider/Slider.vue similarity index 100% rename from vue-frontend/src/components/slider/Slider.vue rename to frontend/src/components/slider/Slider.vue diff --git a/vue-frontend/src/main.js b/frontend/src/main.js similarity index 100% rename from vue-frontend/src/main.js rename to frontend/src/main.js diff --git a/vue-frontend/substituteEnv.sh b/frontend/substituteEnv.sh similarity index 100% rename from vue-frontend/substituteEnv.sh rename to frontend/substituteEnv.sh diff --git a/vue-frontend/vite.config.js b/frontend/vite.config.js similarity index 72% rename from vue-frontend/vite.config.js rename to frontend/vite.config.js index 04fce13..4c67231 100644 --- a/vue-frontend/vite.config.js +++ b/frontend/vite.config.js @@ -18,8 +18,11 @@ export default defineConfig({ origin: "*" }, proxy: { - '/in-rectangle': 'http://localhost:8084', - '/triples': 'http://localhost:8084' + '/in-rectangle': 'http://localhost:8084/api', + '/triples': 'http://localhost:8084/api' } + }, + build: { + outDir: 'target/dist' } }) diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..630ccaa --- /dev/null +++ b/pom.xml @@ -0,0 +1,25 @@ + + 4.0.0 + pom + + be.informatievlaanderen.vsds + demonstrator + 1.0.0-SNAPSHOT + + + frontend + backend + + + + + jacoco + reuseReports + ${project.basedir}/target/site/jacoco/jacoco.xml + + java + https://sonarcloud.io + informatievlaanderen + informatievlaanderen_vsds-demonstrator + + \ No newline at end of file diff --git a/spring-boot-backend/.gitignore b/spring-boot-backend/.gitignore deleted file mode 100644 index 5ff6309..0000000 --- a/spring-boot-backend/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/MessageController.java b/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/MessageController.java deleted file mode 100644 index 793c77a..0000000 --- a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/member/rest/websocket/MessageController.java +++ /dev/null @@ -1,30 +0,0 @@ -package be.informatievlaanderen.vsds.demonstrator.member.rest.websocket; - -import be.informatievlaanderen.vsds.demonstrator.member.application.valueobjects.MemberDto; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.messaging.handler.annotation.SendTo; -import org.springframework.messaging.simp.SimpMessagingTemplate; -import org.springframework.stereotype.Controller; - -@Controller -public class MessageController { - private SimpMessagingTemplate template; - private static final Logger log = LoggerFactory.getLogger(WebSocketConfig.class); - - @Autowired - public MessageController(SimpMessagingTemplate template) { - this.template = template; - } - -// @RequestMapping(path="/greetings", method=POST) -// public void greet(String greeting) { -// this.template.convertAndSend("/websocket/broker", text); -// } - //@SendTo("/broker/member") - public void send(MemberDto member) { - log.info("sending member"); - this.template.convertAndSend("/broker/member", member); - } -} diff --git a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplRepoManager.java b/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplRepoManager.java deleted file mode 100644 index dd74d32..0000000 --- a/spring-boot-backend/src/main/java/be/informatievlaanderen/vsds/demonstrator/triple/infra/TripleRepositoryImplRepoManager.java +++ /dev/null @@ -1,61 +0,0 @@ -package be.informatievlaanderen.vsds.demonstrator.triple.infra; - -import be.informatievlaanderen.vsds.demonstrator.triple.domain.entities.MemberDescription; -import be.informatievlaanderen.vsds.demonstrator.triple.domain.repositories.TripleRepository; -import org.eclipse.rdf4j.common.transaction.IsolationLevels; -import org.eclipse.rdf4j.model.Model; -import org.eclipse.rdf4j.model.ModelFactory; -import org.eclipse.rdf4j.model.impl.DynamicModelFactory; -import org.eclipse.rdf4j.query.GraphQueryResult; -import org.eclipse.rdf4j.repository.Repository; -import org.eclipse.rdf4j.repository.RepositoryConnection; -import org.eclipse.rdf4j.repository.config.RepositoryConfig; -import org.eclipse.rdf4j.repository.config.RepositoryImplConfig; -import org.eclipse.rdf4j.repository.manager.RemoteRepositoryManager; -import org.eclipse.rdf4j.repository.manager.RepositoryManager; -import org.eclipse.rdf4j.repository.sail.config.SailRepositoryConfig; -import org.eclipse.rdf4j.sail.memory.config.MemoryStoreConfig; - -import java.util.ArrayList; -import java.util.List; - -@org.springframework.stereotype.Repository -public class TripleRepositoryImplRepoManager implements TripleRepository { - private final String repositoryId; - private final RepositoryManager repositoryManager; - private Repository repository; - - public TripleRepositoryImplRepoManager(GraphDBConfig config) { - this.repositoryId = config.getRepositoryId(); - this.repositoryManager = new RemoteRepositoryManager(config.getUrl().replace("repositories/", "")); - init(); - } - - public void init() { - repositoryManager.init(); - if(!repositoryManager.hasRepositoryConfig(repositoryId)) { - MemoryStoreConfig storeConfig = new MemoryStoreConfig(); - RepositoryImplConfig repositoryImplConfig = new SailRepositoryConfig(storeConfig); - RepositoryConfig config = new RepositoryConfig(repositoryId, repositoryImplConfig); - repositoryManager.addRepositoryConfig(config); - } - repository = repositoryManager.getRepository(repositoryId); - } - - public MemberDescription getById(String id) { - try (RepositoryConnection dbConnection = repository.getConnection()) { - dbConnection.setIsolationLevel(IsolationLevels.NONE); - dbConnection.begin(); - - String queryString = "Describe " + id; - - - try (GraphQueryResult queryResult = dbConnection.prepareGraphQuery(queryString).evaluate()) { - - Model model = new DynamicModelFactory().createEmptyModel(); - model.addAll(queryResult.stream().toList()); - - return new MemberDescription(id, model);} - } - } -} diff --git a/vue-frontend/.vscode/extensions.json b/vue-frontend/.vscode/extensions.json deleted file mode 100644 index c0a6e5a..0000000 --- a/vue-frontend/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] -} diff --git a/vue-frontend/Dockerfile b/vue-frontend/Dockerfile deleted file mode 100644 index a5af56f..0000000 --- a/vue-frontend/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -# build stage -FROM node:lts-alpine as build-stage -WORKDIR /app -COPY package*.json ./ -RUN npm install -COPY . . -RUN npm run build - - -# production stage -FROM nginx:stable-alpine as production-stage -RUN apk update -RUN apk upgrade -RUN apk add bash -COPY --from=build-stage /app/dist /usr/share/nginx/html - -RUN sed -i 's/localhost:5173/localhost:8084/g' /usr/share/nginx/html/assets/*.js - -# Execute the subsitution script and pass the path of the file to replace - -#WORKDIR /usr/share/nginx/html/assets -#RUN grep -c 'localhost:8084' *.js -#RUN sed -i 's/localhost:8084/spring-boot-backend:8084/g' index.html -#RUN grep -c 'localhost:8084' index.html -EXPOSE 80 -CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file