diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..8a5c3f7
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,60 @@
+on:
+ - push
+
+jobs:
+ qa:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/setup-java@v1
+ with:
+ java-version: 17
+ - uses: actions/checkout@v2
+ - run: docker compose up -d mongo
+ working-directory: docker
+ - run: ./mvnw verify
+ deploy:
+ if: github.ref_name == 'main'
+ needs: qa
+ runs-on: self-hosted
+ steps:
+ - uses: actions/checkout@v2
+ - run: ./mvnw package -DskipTests
+ - run: cp crypto-messenger-server/target/*.jar docker/
+ - run: docker compose -p crypto-messenger up -d --build
+ working-directory: docker
+ build-for-debian:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/setup-java@v1
+ with:
+ java-version: 17
+ - uses: actions/checkout@v2
+ - run: ./mvnw install -DskipTests
+ - uses: actions/upload-artifact@v3
+ with:
+ name: debian-${{ github.run_id }}
+ path: crypto-messenger-desktop/target/*.deb
+ build-for-windows:
+ runs-on: windows-latest
+ steps:
+ - uses: actions/setup-java@v1
+ with:
+ java-version: 17
+ - uses: actions/checkout@v2
+ - run: ./mvnw install -DiconType=ico -DskipTests
+ - uses: actions/upload-artifact@v3
+ with:
+ name: windows-${{ github.run_id }}
+ path: crypto-messenger-desktop/target/*.exe
+ build-for-macos:
+ runs-on: macos-latest
+ steps:
+ - uses: actions/setup-java@v1
+ with:
+ java-version: 17
+ - uses: actions/checkout@v2
+ - run: ./mvnw install -DskipTests
+ - uses: actions/upload-artifact@v3
+ with:
+ name: macos-${{ github.run_id }}
+ path: crypto-messenger-desktop/target/*.dmg
diff --git a/crypto-messenger-coder/pom.xml b/crypto-messenger-coder/pom.xml
index 9b06d17..b99af34 100644
--- a/crypto-messenger-coder/pom.xml
+++ b/crypto-messenger-coder/pom.xml
@@ -7,7 +7,7 @@
org.example
crypto-messenger
- 1.0-SNAPSHOT
+ 0.1.0
crypto-messenger-coder
diff --git a/crypto-messenger-desktop/pom.xml b/crypto-messenger-desktop/pom.xml
index 22ee46e..77e4d85 100644
--- a/crypto-messenger-desktop/pom.xml
+++ b/crypto-messenger-desktop/pom.xml
@@ -7,11 +7,15 @@
org.example
crypto-messenger
- 1.0-SNAPSHOT
+ 0.1.0
crypto-messenger-desktop
+
+ png
+
+
org.springframework.data
@@ -47,6 +51,41 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ ${project.build.directory}/app
+
+
+
+
+ org.panteleyev
+ jpackage-maven-plugin
+ 1.6.0
+
+
+ install
+
+ jpackage
+
+
+
+
+
+ ${project.build.directory}/app
+ ${project.build.finalName}.jar
+ ${project.build.directory}
+
+
+ CryptoMessenger
+ src/main/resources/graphics/lock.${iconType}
+ Kirill
+
+
+ true
+ true
+ true
+ true
+ Kirill
+
diff --git a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java
index 8d720a0..ddb709b 100644
--- a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java
+++ b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/JavaFxApplication.java
@@ -23,7 +23,7 @@ public JavaFxApplication() {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("CryptoMessenger");
- primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.jpg")));
+ primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.png")));
primaryStage.setScene(sceneLoader.load("MainScene"));
primaryStage.show();
}
diff --git a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java
index b39488e..8b1bfc0 100644
--- a/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java
+++ b/crypto-messenger-desktop/src/main/java/cryptomessenger/desktop/infrastructure/ui/dialog/SendMessageDialog.java
@@ -19,7 +19,7 @@ public class SendMessageDialog {
public void show(Runnable onSuccess) {
var stage = new Stage();
stage.setTitle("Send Message");
- stage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.jpg")));
+ stage.getIcons().add(new Image(getClass().getResourceAsStream("/graphics/lock.png")));
stage.initModality(Modality.APPLICATION_MODAL);
var sceneProperties = SceneProperties.of(
entry("onSent", (Runnable) () -> {
diff --git a/crypto-messenger-desktop/src/main/resources/application.yml b/crypto-messenger-desktop/src/main/resources/application.yml
index 5f81ba1..3f1eb53 100644
--- a/crypto-messenger-desktop/src/main/resources/application.yml
+++ b/crypto-messenger-desktop/src/main/resources/application.yml
@@ -1,5 +1,5 @@
app:
- server-base-url: http://localhost:8080
+ server-base-url: http://164.90.184.120
spring:
main:
web-application-type: none
diff --git a/crypto-messenger-desktop/src/main/resources/graphics/lock.ico b/crypto-messenger-desktop/src/main/resources/graphics/lock.ico
new file mode 100644
index 0000000..6d6f332
Binary files /dev/null and b/crypto-messenger-desktop/src/main/resources/graphics/lock.ico differ
diff --git a/crypto-messenger-desktop/src/main/resources/graphics/lock.jpg b/crypto-messenger-desktop/src/main/resources/graphics/lock.jpg
deleted file mode 100644
index 395340a..0000000
Binary files a/crypto-messenger-desktop/src/main/resources/graphics/lock.jpg and /dev/null differ
diff --git a/crypto-messenger-desktop/src/main/resources/graphics/lock.png b/crypto-messenger-desktop/src/main/resources/graphics/lock.png
new file mode 100644
index 0000000..9266567
Binary files /dev/null and b/crypto-messenger-desktop/src/main/resources/graphics/lock.png differ
diff --git a/crypto-messenger-server/pom.xml b/crypto-messenger-server/pom.xml
index d73686f..709bbda 100644
--- a/crypto-messenger-server/pom.xml
+++ b/crypto-messenger-server/pom.xml
@@ -7,7 +7,7 @@
org.example
crypto-messenger
- 1.0-SNAPSHOT
+ 0.1.0
crypto-messenger-server
diff --git a/crypto-messenger-server/src/main/resources/application.yml b/crypto-messenger-server/src/main/resources/application.yml
index 67b66ed..43ef74f 100644
--- a/crypto-messenger-server/src/main/resources/application.yml
+++ b/crypto-messenger-server/src/main/resources/application.yml
@@ -1,5 +1,6 @@
spring:
data:
mongodb:
+ host: mongo
database: main
auto-index-creation: true
diff --git a/crypto-messenger-server/src/test/resources/application.yml b/crypto-messenger-server/src/test/resources/application.yml
new file mode 100644
index 0000000..e69de29
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000..3d3845c
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,4 @@
+FROM eclipse-temurin:17-jre-alpine
+WORKDIR /opt
+COPY *.jar .
+ENTRYPOINT exec java -Xmx200M -jar *.jar
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 0000000..27c486e
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -0,0 +1,16 @@
+version: '3'
+services:
+ app:
+ build: .
+ restart: always
+ ports:
+ - 0.0.0.0:80:8080
+ mongo:
+ image: mongo
+ restart: always
+ ports:
+ - 127.0.0.1:27017:27017
+ volumes:
+ - mongo:/data/db
+volumes:
+ mongo:
diff --git a/pom.xml b/pom.xml
index 21a3f33..15bdb58 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.example
crypto-messenger
- 1.0-SNAPSHOT
+ 0.1.0
pom