diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 6e52cd1..e5a8359 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,9 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index e65e05d..bf59d9c 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 3c71298..93fd53c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ version = '0.0.1-SNAPSHOT'
java {
toolchain {
- languageVersion = JavaLanguageVersion.of(24)
+ languageVersion = JavaLanguageVersion.of(17)
}
}
diff --git a/jambotron-ui/README.md b/jambotron-ui/README.md
index 8368063..bf239b0 100644
--- a/jambotron-ui/README.md
+++ b/jambotron-ui/README.md
@@ -2,6 +2,10 @@
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.2.
+Note: to download the latest version of npm, on the command line, run the following command:
+
+npm install -g npm
+
## Development server
To start a local development server, run:
diff --git a/jambotron-ui/angular.json b/jambotron-ui/angular.json
index dcdcf0c..ca4ccf3 100644
--- a/jambotron-ui/angular.json
+++ b/jambotron-ui/angular.json
@@ -146,5 +146,8 @@
}
}
}
+ },
+ "cli": {
+ "analytics": false
}
}
diff --git a/jambotron-ui/package-lock.json b/jambotron-ui/package-lock.json
index 97bcf01..554f793 100644
--- a/jambotron-ui/package-lock.json
+++ b/jambotron-ui/package-lock.json
@@ -8,17 +8,17 @@
"name": "jambotron-ui",
"version": "0.0.0",
"dependencies": {
- "@angular/animations": "^20.0.4",
+ "@angular/animations": "^20.0.4n",
"@angular/cdk": "^20.1.6",
- "@angular/common": "^20.0.0",
- "@angular/compiler": "^20.0.0",
- "@angular/core": "^20.0.0",
+ "@angular/common": "21.0.1",
+ "@angular/compiler": "22.0.0-next.3",
+ "@angular/core": "22.0.0-next.3",
"@angular/forms": "^20.0.0",
"@angular/material": "^20.1.6",
"@angular/platform-browser": "^20.0.0",
- "@angular/platform-server": "^20.0.0",
+ "@angular/platform-server": "22.0.0-next.8",
"@angular/router": "^20.0.0",
- "@angular/ssr": "^20.0.2",
+ "@angular/ssr": "22.0.0-next.2",
"@material/material-color-utilities": "^0.3.0",
"@ng-bootstrap/ng-bootstrap": "19.0.0",
"@popperjs/core": "2.11.8",
@@ -657,9 +657,9 @@
}
},
"node_modules/@angular/common": {
- "version": "20.0.4",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.0.4.tgz",
- "integrity": "sha512-fWgxe2rgSKgI36ummBYnBN4YUrmp4CHbfEG3RMeJho/vhHKguk2/o6BgL9zvnKybvbWmuaqbkHogi+y0LeJ8Ww==",
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.1.tgz",
+ "integrity": "sha512-EqdTGpFp7PVdTVztO7TB6+QxdzUbYXKKT2jwG2Gg+PIQZ2A8XrLPRmGXyH/DLlc5IhnoJlLbngmBRCLCO4xWog==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -668,20 +668,20 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/core": "20.0.4",
+ "@angular/core": "21.0.1",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "20.0.4",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.0.4.tgz",
- "integrity": "sha512-1bP3P8Ll/KUYMPiE6TDjkMXkqCDVgSUAUsVCgzAxz4mcMuc9PnlbhQazpWHCkCDIjGFZ5XIAsS49V7tfaTbLDw==",
+ "version": "22.0.0-next.3",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-22.0.0-next.3.tgz",
+ "integrity": "sha512-b1z3WTBk0nysyZ9RnZG7EeNiOOr+rpm7/a8KedjJz8+dEeOP6Q+MN3JN4oTvLbU/GaN//560+TAc5MuUY1AKPQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ "node": "^22.22.0 || >=24.13.1"
}
},
"node_modules/@angular/compiler-cli": {
@@ -827,20 +827,20 @@
}
},
"node_modules/@angular/core": {
- "version": "20.0.4",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.0.4.tgz",
- "integrity": "sha512-JhSl3B6CrJ9kegLffgWVFGF4D4bWLV/9r8R0+h78vU+ppdPFPWDha7WnirF31cPIg3pBzy6wn103Kcy9Ri5M5w==",
+ "version": "22.0.0-next.3",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-22.0.0-next.3.tgz",
+ "integrity": "sha512-F0zES0ziee/f429vYuOMe/NokRrEk84IGP9Qtfc0zVoFkzcHdZbFW8o3Eg/F5WI1BxIA4YhEXg33nDN5tEA+AQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ "node": "^22.22.0 || >=24.13.1"
},
"peerDependencies": {
- "@angular/compiler": "20.0.4",
+ "@angular/compiler": "22.0.0-next.3",
"rxjs": "^6.5.3 || ^7.4.0",
- "zone.js": "~0.15.0"
+ "zone.js": "~0.15.0 || ~0.16.0"
},
"peerDependenciesMeta": {
"@angular/compiler": {
@@ -909,22 +909,22 @@
}
},
"node_modules/@angular/platform-server": {
- "version": "20.0.4",
- "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-20.0.4.tgz",
- "integrity": "sha512-jCbBPy/KmWw/rW6400My/+2SumnatciWnyWJVy2tKSHU/WDHQdjgk8djMdZODr+2CDORQzdkdBKqf7TuFK6clA==",
+ "version": "22.0.0-next.8",
+ "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-22.0.0-next.8.tgz",
+ "integrity": "sha512-kfY2jnNW8RNtX9Bw0M5Wf0x1UiZDlJ6SckoHzLDeu/o+FbXiNkt6t77ACZ9LNBqUIt0pn734ElBO/suKYuNRcw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0",
"xhr2": "^0.2.0"
},
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ "node": "^22.22.0 || >=24.13.1"
},
"peerDependencies": {
- "@angular/common": "20.0.4",
- "@angular/compiler": "20.0.4",
- "@angular/core": "20.0.4",
- "@angular/platform-browser": "20.0.4",
+ "@angular/common": "22.0.0-next.8",
+ "@angular/compiler": "22.0.0-next.8",
+ "@angular/core": "22.0.0-next.8",
+ "@angular/platform-browser": "22.0.0-next.8",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -947,18 +947,18 @@
}
},
"node_modules/@angular/ssr": {
- "version": "20.0.3",
- "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-20.0.3.tgz",
- "integrity": "sha512-AuEO05mdcQU1HBZAJ64eNPEoi4vxgA0zmYjdVK+Z55uwhaAPiyU6Ti/irK7y4IpM5WZ0fTKFzxtgD+GuEqai2w==",
+ "version": "22.0.0-next.2",
+ "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-22.0.0-next.2.tgz",
+ "integrity": "sha512-O1AK/YMY+4f7rMAHnI2BFJLCancTDEq683A4N2wXo4brsfXgCwp5pygBBi/pHfI7lzgrEkXlbEsWRjBdEjiqEg==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/common": "^20.0.0",
- "@angular/core": "^20.0.0",
- "@angular/platform-server": "^20.0.0",
- "@angular/router": "^20.0.0"
+ "@angular/common": "^22.0.0-next.0",
+ "@angular/core": "^22.0.0-next.0",
+ "@angular/platform-server": "^22.0.0-next.0",
+ "@angular/router": "^22.0.0-next.0"
},
"peerDependenciesMeta": {
"@angular/platform-server": {
diff --git a/jambotron-ui/package.json b/jambotron-ui/package.json
index 898a60e..3645662 100644
--- a/jambotron-ui/package.json
+++ b/jambotron-ui/package.json
@@ -13,17 +13,17 @@
},
"private": true,
"dependencies": {
- "@angular/animations": "^20.0.4",
+ "@angular/animations": "^20.0.4n",
"@angular/cdk": "^20.1.6",
- "@angular/common": "^20.0.0",
- "@angular/compiler": "^20.0.0",
- "@angular/core": "^20.0.0",
+ "@angular/common": "21.0.1",
+ "@angular/compiler": "22.0.0-next.3",
+ "@angular/core": "22.0.0-next.3",
"@angular/forms": "^20.0.0",
"@angular/material": "^20.1.6",
"@angular/platform-browser": "^20.0.0",
- "@angular/platform-server": "^20.0.0",
+ "@angular/platform-server": "22.0.0-next.8",
"@angular/router": "^20.0.0",
- "@angular/ssr": "^20.0.2",
+ "@angular/ssr": "22.0.0-next.2",
"@material/material-color-utilities": "^0.3.0",
"@ng-bootstrap/ng-bootstrap": "19.0.0",
"@popperjs/core": "2.11.8",
diff --git a/src/DevOps/Dockerfile b/src/DevOps/Dockerfile
index 6a74734..c32478c 100644
--- a/src/DevOps/Dockerfile
+++ b/src/DevOps/Dockerfile
@@ -5,7 +5,8 @@
#RUN microdnf install findutils
#RUN ./gradlew build -x test
-FROM openjdk:24
+#FROM openjdk:24
+FROM eclipse-temurin:24-jdk
ADD https://download.docker.com/linux/static/stable/x86_64/docker-24.0.5.tgz /tmp/
RUN tar xzvf /tmp/docker-24.0.5.tgz -C /usr/local/bin --strip-components=1 docker/docker
diff --git a/src/DevOps/docker-compose.yml b/src/DevOps/docker-compose.yml
index b80893b..0f75e41 100644
--- a/src/DevOps/docker-compose.yml
+++ b/src/DevOps/docker-compose.yml
@@ -1,17 +1,17 @@
services:
jambotron:
image: 'jambotron-image'
- container_name: 'jambotron-container'
+ container_name: 'jambotron-prod-container'
build:
context: ../../
dockerfile: ./src/DevOps/Dockerfile
ports:
-# - "8081:80"
- - "8443:443"
+ - "8081:80"
+# - "8443:443"
depends_on:
- postgres_jambotron
volumes:
- - certs:/certs
+# - certs:/certs
- jambotron_data:/jambotron_data
# Mount host Docker socket
- /var/run/docker.sock:/var/run/docker.sock
@@ -23,10 +23,10 @@ services:
DOCKER_HOST: unix:///var/run/docker.sock
- SSL_ENABLED: "true"
- SERVER_PORT: 443
- FULLCHAINPEM: /certs/live/jambotron.run.place/fullchain.pem
- PRIVKEYPEM: /certs/live/jambotron.run.place/privkey.pem
+# SSL_ENABLED: "true"
+# SERVER_PORT: 443
+# FULLCHAINPEM: /certs/live/jambotron.run.place/fullchain.pem
+# PRIVKEYPEM: /certs/live/jambotron.run.place/privkey.pem
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres_jambotron:5432/jambotronDB
SPRING_DATASOURCE_USERNAME: admin
@@ -56,7 +56,7 @@ services:
postgres_jambotron:
image: 'postgres'
- container_name: 'jambotron-postgres-container'
+ container_name: 'jambotron-prod-postgres-container'
ports:
- "5432:5432"
environment:
@@ -71,7 +71,7 @@ services:
# db_password:
# file: db_password.txt
volumes:
- certs:
- external: true
+# certs:
+# external: true
jambotron_data:
# external: true
\ No newline at end of file
diff --git a/src/main/java/com/jambotronGroup/jambotron/JambotronApplication.java b/src/main/java/com/jambotronGroup/jambotron/JambotronApplication.java
index 0910300..b6f32aa 100644
--- a/src/main/java/com/jambotronGroup/jambotron/JambotronApplication.java
+++ b/src/main/java/com/jambotronGroup/jambotron/JambotronApplication.java
@@ -3,6 +3,7 @@ package com.jambotronGroup.jambotron;
import com.jambotronGroup.jambotron.fileUpload.FilesStorageService;
+import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -11,11 +12,23 @@ import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import java.util.TimeZone;
+
@SpringBootApplication
public class JambotronApplication{
private static final Logger logger = LoggerFactory.getLogger(JambotronApplication.class);
- public static void main(String[] args) {
+
+// @PostConstruct
+// public void init() {
+// // Устанавливает UTC для всей JVM, где работает Spring
+// TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+// }
+
+ public static void main(String[] args) {
+
+ // Set the timezone before the Spring context (and Flyway) starts
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
SpringApplication.run(JambotronApplication.class, args);
diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties
index 1ab7f5a..c2f941f 100644
--- a/src/main/resources/application-dev.properties
+++ b/src/main/resources/application-dev.properties
@@ -5,14 +5,14 @@ spring.application.name=jambotron
server.port=8082
#============Localhost Configurations========================
-spring.datasource.url= jdbc:postgresql://localhost:5433/jambotronDB
+spring.datasource.url= jdbc:postgresql://localhost:5433/jambotronDB?options=-c%20timezone=UTC
spring.datasource.username= admin
spring.datasource.password= postgrespw
spring.flyway.baseline-on-migrate=true
spring.flyway.validate-on-migrate=true
-spring.flyway.url=jdbc:postgresql://localhost:5433/jambotronDB
+spring.flyway.url=jdbc:postgresql://localhost:5433/jambotronDB?options=-c%20timezone=UTC
spring.flyway.user=admin
spring.flyway.password=postgrespw