Init base project files

This commit is contained in:
Sergei_Verbitski
2026-03-19 13:11:12 +03:00
parent 2cc375134a
commit 8575fd6db8
46 changed files with 11505 additions and 3 deletions

150
backend/app/pom.xml Normal file
View File

@@ -0,0 +1,150 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>app</artifactId>
<packaging>jar</packaging>
<parent>
<groupId>org.itprom</groupId>
<artifactId>backend</artifactId>
<version>1.0.0</version>
</parent>
<developers>
<developer>
<name>Sergey Verbitsky</name>
<organization>It-prom</organization>
</developer>
</developers>
<properties>
<skip.deploy>true</skip.deploy>
<maven.compiler.source>25</maven.compiler.source>
<maven.compiler.target>25</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.itprom</groupId>
<artifactId>backend</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- DB -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<!-- Supp dependencies -->
<!-- Base config -->
<dependency>
<groupId>org.itprom</groupId>
<artifactId>base-config</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Core -->
<dependency>
<groupId>org.itprom</groupId>
<artifactId>core</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Log -->
<dependency>
<groupId>org.itprom</groupId>
<artifactId>log</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Menu -->
<dependency>
<groupId>org.itprom</groupId>
<artifactId>menu</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Localization -->
<dependency>
<groupId>org.itprom</groupId>
<artifactId>l10n</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Notification -->
<dependency>
<groupId>org.itprom</groupId>
<artifactId>notification</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>4.0.3</version>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.4.0</version>
<executions>
<execution>
<id>copy Vue.js frontend content</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>src/main/resources/public</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>../../frontend/target/dist</directory>
<includes>
<include>index.html</include>
<include>favicon.ico</include>
<include>company_logo.png</include>
<include>static/**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,29 @@
package org.itprom.suppforms;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
/**
* Точка входа в основное приложение.
*
* @author Sergey Verbitsky
* @since 15.12.2025
*/
@ConfigurationPropertiesScan
@EnableConfigurationProperties
@SpringBootApplication
@EnableJpaRepositories("org.itprom")
@EntityScan("org.itprom")
@ComponentScan("org.itprom")
public class SuppFormsApplication {
public static void main(String[] args) {
SpringApplication.run(SuppFormsApplication.class, args);
}
}

View File

@@ -0,0 +1,59 @@
server:
port: 9001
spring:
profiles:
active: ${PROFILE:dev}
servlet:
multipart:
enabled: true
max-file-size: 10MB
max-request-size: 15MB
file-size-threshold: 2KB
sql:
init:
mode: always
schema-locations:
- classpath*:db/**/*.sql
jpa:
defer-datasource-initialization: true
mvc:
pathmatch:
matching-strategy: ant_path_matcher
springdoc:
api-docs:
path: /api-docs
swagger-ui:
url: /api-docs
jwt:
private.key: classpath:/jwk/supp-5.key
public.key: classpath:/jwk/supp-5.pub
expiration: 86400
management:
endpoints:
web:
exposure:
include: health, info, metrics, prometheus
metrics:
distribution:
percentiles-histogram:
http.server.requests: true
tags:
application: supp-forms
#- SUPP ------------------------------------------------------
supp:
defaultRoles:
- name: Administrator
- name: SuppUser
pages:
- num: 2
access: [ read, write ]
enablePathRegistryLog: false
websocket:
allowedOrigins:
- "http://localhost:9001"
- "http://localhost:5173"
- "http://127.0.0.1:5173"
file:
upload-dir: ./upload

139
backend/pom.xml Normal file
View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.itprom</groupId>
<artifactId>supp-forms-based-app</artifactId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>backend</artifactId>
<packaging>pom</packaging>
<name>backend</name>
<developers>
<developer>
<name>Sergey Verbitsky</name>
<organization>It-prom</organization>
</developer>
</developers>
<modules>
<module>app</module>
<!-- Add custom new modules here -->
</modules>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
<java.version>25</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.boot.version>4.0.3</spring.boot.version>
<lombok.version>1.18.42</lombok.version>
<commons-lang3.version>3.20.0</commons-lang3.version>
<jsoup.version>1.21.2</jsoup.version>
<swagger-annotations.version>2.2.23</swagger-annotations.version>
<aspectj.version>1.9.23</aspectj.version>
<postgresql.version>42.7.8</postgresql.version>
<h2.version>2.2.224</h2.version>
<springdoc.version>3.0.0</springdoc.version>
<commons-io.version>2.14.0</commons-io.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Spring Boot BOM -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Common dependencies -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>${jsoup.version}</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger-annotations.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<!-- DB -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<!-- Springdoc -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<parameters>true</parameters>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.42</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>