[cleanup] Remove unused PDF files and the organize script. Update configuration paths in properties and Java files to reflect new directory structure. Streamline media and database paths for improved resource management.

This commit is contained in:
Lê Thành Đạt committed 2025-08-02 23:50:37 +07:00
1 parent 736f16d818
commit e2bf7b6c62
51 files changed
+255 -643

No files matched your search

-83
View File
@@ -1,83 +0,0 @@
%PDF-1.4
%öäüß
1 0 obj
<<
/Type /Catalog
/Version /1.4
/Pages 2 0 R
>>
endobj
2 0 obj
<<
/Type /Pages
/Kids [3 0 R]
/Count 1
>>
endobj
3 0 obj
<<
/Type /Page
/MediaBox [0.0 0.0 595.27563 841.8898]
/Parent 2 0 R
/Contents 4 0 R
/Resources 5 0 R
>>
endobj
4 0 obj
<<
/Length 260
/Filter /FlateDecode
>>
stream
xœu‘ÁRà E÷|Å[tQi€�f§Å:uÔq,ãžI_4'¡~¿Ô$“º`Ã=¼—xÍ€qPaéB€z 7Š
Wa©™?koÐzØØÂe ÞȭꑤEžô3¸w¥é𛡵ãB¼‘Y0$©˜$×ûp.™ìÿ
X+¸C‹µ®ÎÝárÙ"¯¦1¤öa"§\D”Et91J—{Wg ëlÆ—gÜñšÃI\ôŠ®‰-ÖŸ&Çøw&7áL¢×¦ji:HW®ñ}ŸªŠ’ž±Í±ò¡xgÇ’äo#«ó÷ãÇXÖQ3AGmu…þ÷Öÿ¹±ð‚•Áb<¹#fügò“öŒq
endstream
endobj
5 0 obj
<<
/Font 6 0 R
>>
endobj
6 0 obj
<<
/F1 7 0 R
/F2 8 0 R
>>
endobj
7 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
8 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
>>
endobj
xref
0 9
0000000000 65535 f
0000000015 00000 n
0000000078 00000 n
0000000135 00000 n
0000000254 00000 n
0000000588 00000 n
0000000621 00000 n
0000000662 00000 n
0000000759 00000 n
trailer
<<
/Root 1 0 R
/ID [<0D096FE5232DC05955FD1862642B6A74> <0D096FE5232DC05955FD1862642B6A74>]
/Size 9
>>
startxref
861
%%EOF
+1 -1
View File
@@ -8,6 +8,6 @@ google.drive.enabled=true
google.drive.root.folder=BSK_Clinic_Patient_Files
server.address=127.0.0.1
server.port=1999
storage.checkup_media_base_dir=src/main/resources/image/checkup_media
storage.checkup_media_base_dir=image/checkup_media
storage.ultrasound_folder_path=ANH SIEU AM
app.auto_change_status_to_finished=false
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.
-197
View File
@@ -1,197 +0,0 @@
# Create directories if they don't exist
New-Item -ItemType Directory -Force -Path "BSK-Application"
New-Item -ItemType Directory -Force -Path "BSK-Application\lib"
New-Item -ItemType Directory -Force -Path "BSK-Application\resources"
New-Item -ItemType Directory -Force -Path "BSK-Application\resources\images"
New-Item -ItemType Directory -Force -Path "BSK-Application\resources\icons"
New-Item -ItemType Directory -Force -Path "BSK-Application\resources\fonts"
New-Item -ItemType Directory -Force -Path "BSK-Application\resources\database"
New-Item -ItemType Directory -Force -Path "BSK-Application\config"
New-Item -ItemType Directory -Force -Path "BSK-Application\logs"
# Create resources directory in source if it doesn't exist
New-Item -ItemType Directory -Force -Path "src\main\resources\images"
New-Item -ItemType Directory -Force -Path "src\main\resources\icons"
New-Item -ItemType Directory -Force -Path "src\main\resources\fonts"
# Copy assets from the UI assets folder
if (Test-Path "src\main\java\BsK\client\ui\assets\img") {
Copy-Item "src\main\java\BsK\client\ui\assets\img\*" -Destination "src\main\resources\images\" -Force -Recurse
Copy-Item "src\main\java\BsK\client\ui\assets\img\*" -Destination "BSK-Application\resources\images\" -Force -Recurse
}
if (Test-Path "src\main\java\BsK\client\ui\assets\icon") {
Copy-Item "src\main\java\BsK\client\ui\assets\icon\*" -Destination "src\main\resources\icons\" -Force -Recurse
Copy-Item "src\main\java\BsK\client\ui\assets\icon\*" -Destination "BSK-Application\resources\icons\" -Force -Recurse
}
if (Test-Path "src\main\java\BsK\client\ui\assets\font") {
Copy-Item "src\main\java\BsK\client\ui\assets\font\*" -Destination "src\main\resources\fonts\" -Force -Recurse
Copy-Item "src\main\java\BsK\client\ui\assets\font\*" -Destination "BSK-Application\resources\fonts\" -Force -Recurse
}
# Copy executables
Copy-Item "target\BSK-Server.exe" -Destination "BSK-Application\" -Force
Copy-Item "target\BSK-Client.exe" -Destination "BSK-Application\" -Force
# Copy JAR files
Copy-Item "target\bsk-server-jar-with-dependencies.jar" -Destination "BSK-Application\lib\" -Force
Copy-Item "target\bsk-client-jar-with-dependencies.jar" -Destination "BSK-Application\lib\" -Force
# Copy all resources from src/main/resources
Copy-Item "src\main\resources\*" -Destination "BSK-Application\resources\" -Recurse -Force
# Create log4j2 configuration file
@"
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<RollingFile name="RollingFile"
fileName="logs/bsk.log"
filePattern="logs/bsk-%d{yyyy-MM-dd}-%i.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB"/>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
"@ | Out-File -FilePath "BSK-Application\config\log4j2.xml" -Encoding UTF8 -Force
# Create config file with detailed comments
@"
# BSK Clinic Management System Configuration
# ----------------------------------------
# This configuration file is used by both the server and client applications.
# Server Configuration
# -------------------
# The address where the server is running
# Use "localhost" if running server and client on the same machine
# Use the actual IP address if running on different machines
# Examples:
# server.address=localhost (same machine)
# server.address=192.168.1.100 (local network)
# server.address=example.com (domain name)
server.address=localhost
# The port number that the server will listen on and clients will connect to
# Default: 1999
server.port=1999
# Log Configuration
# ----------------
# Log files will be created in the logs directory
# See config/log4j2.xml for detailed logging configuration
# Important Notes:
# 1. Server Address:
# - Use "localhost" if server and client are on the same machine
# - Use the server's IP address if running on different machines
# - Make sure the server is reachable from the client machine
#
# 2. After changing any settings:
# - Close all running clients
# - Stop the server
# - Start the server again
# - Start the clients
#
# 3. Network Configuration:
# - Ensure the chosen port is not blocked by firewalls
# - If using a domain name, make sure DNS resolution works
# - For remote connections, the server must be accessible from the client
"@ | Out-File -FilePath "BSK-Application\config\config.properties" -Encoding UTF8 -Force
# Create batch files for easy startup
@"
@echo off
echo Starting BSK Server...
start "" "BSK-Server.exe"
"@ | Out-File -FilePath "BSK-Application\start-server.bat" -Encoding ASCII -Force
@"
@echo off
echo Starting BSK Client...
start "" "BSK-Client.exe"
"@ | Out-File -FilePath "BSK-Application\start-client.bat" -Encoding ASCII -Force
# Create README file
@"
BSK Clinic Management System
===========================
This folder contains both the server and client applications for the BSK Clinic Management System.
Quick Start
----------
1. Run 'start-server.bat' to start the server
2. Run 'start-client.bat' to start the client
Directory Structure
-----------------
BSK-Application/
├── BSK-Server.exe - Server application
├── BSK-Client.exe - Client application
├── start-server.bat - Server startup script
├── start-client.bat - Client startup script
├── lib/ - Required libraries
├── resources/ - Application resources
│ ├── images/ - Images
│ ├── icons/ - Icons
│ ├── fonts/ - Fonts
│ └── database/ - Database files
├── config/ - Configuration files
│ ├── config.properties - Main configuration
│ └── log4j2.xml - Logging configuration
└── logs/ - Application logs
Configuration
------------
1. Edit config/config.properties to change:
- Server address (default: localhost)
- Server port (default: 1999)
2. Logging:
- Logs are stored in the logs/ directory
- Configure logging in config/log4j2.xml
- Log files rotate automatically
Important Notes
-------------
1. Always start the server before the client
2. After changing config.properties:
- Stop all clients
- Stop the server
- Start server again
- Start clients
Troubleshooting
--------------
1. Check logs/ directory for error messages
2. Verify server is running before starting clients
3. Ensure config.properties has correct server address
4. Check if port 1999 is not blocked by firewall
Support
-------
For technical support, please contact:
[Your support contact information]
"@ | Out-File -FilePath "BSK-Application\README.txt" -Encoding UTF8 -Force
Write-Host "`nApplication has been built and organized in the BSK-Application folder!"
Write-Host "`nTo start the application:"
Write-Host "1. Run start-server.bat"
Write-Host "2. Run start-client.bat"
Write-Host "`nConfiguration files are in the config/ directory"
Write-Host "Logs will be written to the logs/ directory"
+248 -322
View File
@@ -1,325 +1,251 @@
<?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>
<groupId>BsK</groupId>
<artifactId>ldS_BsK</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>21</maven.compiler.release>
<exec.mainClass>BsK.LdS_BsK</exec.mainClass>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<annotationProcessorPaths>
<path>
<artifactId>lombok</artifactId>
<groupId>org.projectlombok</groupId>
<version>1.18.36</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<executions>
<execution>
<id>server-jar</id>
<configuration>
<archive>
<manifest>
<mainClass>BsK.server.Server</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>bsk-server</finalName>
</configuration>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
<execution>
<id>client-jar</id>
<configuration>
<archive>
<manifest>
<mainClass>BsK.client.Client</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>bsk-client</finalName>
</configuration>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>server-exe</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>console</headerType>
<outfile>target/BSK-Server.exe</outfile>
<jar>target/bsk-server-jar-with-dependencies.jar</jar>
<errTitle>BSK Server Error</errTitle>
<classPath>
<mainClass>BsK.server.Server</mainClass>
</classPath>
<jre>
<minVersion>21.0.0</minVersion>
<path>C:\Program Files\Java\jdk-21</path>
<bundledJre64Bit>true</bundledJre64Bit>
<bundledJreAsFallback>true</bundledJreAsFallback>
</jre>
</configuration>
</execution>
<execution>
<id>client-exe</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>gui</headerType>
<outfile>target/BSK-Client.exe</outfile>
<jar>target/bsk-client-jar-with-dependencies.jar</jar>
<errTitle>BSK Client Error</errTitle>
<classPath>
<mainClass>BsK.client.Client</mainClass>
</classPath>
<jre>
<minVersion>21.0.0</minVersion>
<path>C:\Program Files\Java\jdk-21</path>
<bundledJre64Bit>true</bundledJre64Bit>
<bundledJreAsFallback>true</bundledJreAsFallback>
</jre>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
<version>4.8.179</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.116.Final</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.24.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>2.24.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.36</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.16</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.47.1.0</version>
</dependency>
<dependency>
<groupId>org.jdatepicker</groupId>
<artifactId>jdatepicker</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>org.swinglabs</groupId>
<artifactId>swingx</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.27</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.12</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.github.sarxos</groupId>
<artifactId>webcam-capture</artifactId>
<version>0.3.12</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>6.1.1-1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>6.1.1-1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>opencv</artifactId>
<version>4.9.0-1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>opencv-platform</artifactId>
<version>4.9.0-1.5.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>7.0.3</version>
</dependency>
<!-- Barcode4J for JasperReports -->
<dependency>
<groupId>net.sf.barcode4j</groupId>
<artifactId>barcode4j</artifactId>
<version>2.1</version>
</dependency>
<!-- JasperReports Barcode4J Extension -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-barcode4j</artifactId>
<version>7.0.3</version>
</dependency>
<!-- JasperReports PDF Extension - Required for PDF export -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-pdf</artifactId>
<version>7.0.3</version>
</dependency>
<!-- Google Drive API -->
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-drive</artifactId>
<version>v3-rev20240914-2.0.0</version>
</dependency>
<!-- Google Auth Library -->
<dependency>
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-oauth2-http</artifactId>
<version>1.27.0</version>
</dependency>
<!-- Google OAuth2 Client -->
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client-jetty</artifactId>
<version>1.36.0</version>
</dependency>
<!-- QR Code Generator -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.5</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
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>
<groupId>BsK</groupId>
<artifactId>ldS_BsK</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>21</maven.compiler.release>
<exec.mainClass>BsK.LdS_BsK</exec.mainClass>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<annotationProcessorPaths>
<path>
<artifactId>lombok</artifactId>
<groupId>org.projectlombok</groupId>
<version>1.18.36</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<executions>
<execution>
<id>server-jar</id>
<configuration>
<archive>
<manifest>
<mainClass>BsK.server.Server</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>bsk-server</finalName>
</configuration>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
<execution>
<id>client-jar</id>
<configuration>
<archive>
<manifest>
<mainClass>BsK.client.Client</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>bsk-client</finalName>
</configuration>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
<version>4.8.179</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.116.Final</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.24.3</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>2.24.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.36</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.16</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.47.1.0</version>
</dependency>
<dependency>
<groupId>org.jdatepicker</groupId>
<artifactId>jdatepicker</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>org.swinglabs</groupId>
<artifactId>swingx</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.27</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.12</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.github.sarxos</groupId>
<artifactId>webcam-capture</artifactId>
<version>0.3.12</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>6.1.1-1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg-platform</artifactId>
<version>6.1.1-1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>opencv</artifactId>
<version>4.9.0-1.5.10</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>opencv-platform</artifactId>
<version>4.9.0-1.5.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>7.0.3</version>
</dependency>
<!-- Barcode4J for JasperReports -->
<dependency>
<groupId>net.sf.barcode4j</groupId>
<artifactId>barcode4j</artifactId>
<version>2.1</version>
</dependency>
<!-- JasperReports Barcode4J Extension -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-barcode4j</artifactId>
<version>7.0.3</version>
</dependency>
<!-- JasperReports PDF Extension - Required for PDF export -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-pdf</artifactId>
<version>7.0.3</version>
</dependency>
<!-- Google Drive API -->
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-drive</artifactId>
<version>v3-rev20240914-2.0.0</version>
</dependency>
<!-- Google Auth Library -->
<dependency>
<groupId>com.google.auth</groupId>
<artifactId>google-auth-library-oauth2-http</artifactId>
<version>1.27.0</version>
</dependency>
<!-- Google OAuth2 Client -->
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client-jetty</artifactId>
<version>1.36.0</version>
</dependency>
<!-- QR Code Generator -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.5</version>
</dependency>
</dependencies>
</project>
+1 -1
View File
@@ -38,7 +38,7 @@ public class LocalStorage {
// these variable can be changed by settings page
// need restart
public static String checkupMediaBaseDir = "src/main/resources/image/checkup_media";
public static String checkupMediaBaseDir = "image/checkup_media";
public static String ULTRASOUND_FOLDER_PATH = "ANH SIEU AM";
public static String ClinicName = "Phòng khám BSK";
public static String ClinicAddress = "Số ABC, Đường XYZ, Quận 1, TP.HCM";
@@ -3592,7 +3592,7 @@ public class CheckUpPage extends JPanel {
SwingUtilities.invokeLater(() -> {
try {
// Create media directory for this checkup if it doesn't exist
java.io.File mediaDir = new java.io.File("src/main/resources/image/checkup_media", response.getCheckupId());
java.io.File mediaDir = new java.io.File("image/checkup_media", response.getCheckupId());
if (!mediaDir.exists()) {
mediaDir.mkdirs();
}
+3 -3
View File
@@ -41,7 +41,7 @@ public class Server {
private static boolean googleDriveEnabled = true; // Can be configured
private static String googleDriveRootFolderName = "BSK_Clinic_Patient_Files"; // Default
public static String imageDbPath = "img_db"; // Default
public static String checkupMediaBaseDir = "src/main/resources/image/checkup_media"; // Default
public static String checkupMediaBaseDir = "image/checkup_media"; // Default
static {
try {
@@ -116,7 +116,7 @@ public class Server {
log.info("Checkup media base dir: {}", checkupMediaBaseDir);
// Directly use the provided database path
String dbPath = "src/main/resources/database/BSK.db";
String dbPath = "database/BSK.db";
connection = DriverManager.getConnection("jdbc:sqlite:" + dbPath);
// Initialize Google Drive service if enabled
@@ -346,7 +346,7 @@ public class Server {
}
// Define the path to the database
String dbPath = "src/main/resources/database/BSK.db";
String dbPath = "database/BSK.db";
java.io.File dbFile = new java.io.File(dbPath);
if (!dbFile.exists()) {
@@ -31,7 +31,7 @@ public class GoogleDriveServiceOAuth {
private static final List<String> SCOPES = Collections.singletonList(DriveScopes.DRIVE_FILE);
// Path to OAuth2 client credentials file
private static final String OAUTH_CREDENTIALS_PATH = "src/main/resources/google-oauth-credentials.json";
private static final String OAUTH_CREDENTIALS_PATH = "google-oauth-credentials.json";
// Directory to store authorization tokens
private static final String TOKENS_DIRECTORY_PATH = "tokens";
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB

-34
View File
@@ -1,34 +0,0 @@
# Default configuration - will be overridden by external config/config.properties
# Server Configuration
# ------------------
# The address where the server is running
# Use "localhost" if running server and client on the same machine
# Use the IP address if running on different machines
server.address=127.0.0.1
# The port number that the server will listen on and clients will connect to
server.port=1999
# Google Drive Integration Settings
# --------------------------------
# Set to true to enable Google Drive integration for patient file storage
# Requires google-oauth-credentials.json to be properly configured
# If disabled, the server will run without Google Drive features
google.drive.enabled=true
# Root folder name in Google Drive where all patient folders will be created
# This folder will remain private, only individual patient folders will be shared
# Use alphanumeric characters, dots, dashes, and underscores only
google.drive.root.folder=BSK_Clinic_Patient_Files
# Storage paths
# -------------
# The local path for storing checkup-related images and PDFs.
storage.image_db_path=img_db
# The base directory for checkup media resources (currently unused but defined for future use).
storage.checkup_media_base_dir=src/main/resources/image/checkup_media
app.auto_change_status_to_finished=false
Binary file not shown.