Skip to content

Commit 09ef107

Browse files
committed
- add documentation
- fix minor bugs while compressing, filePath and compressionChoice is not disable. - add interface on InformationUI
1 parent 29e928f commit 09ef107

File tree

15 files changed

+137
-41
lines changed

15 files changed

+137
-41
lines changed

.idea/gradle.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 102 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,102 @@
1-
# CompactJV
1+
<p align="center">
2+
<img src="src/main/resources/com/example/compactjv/app.png" width="128" height="128" alt="CompactJV logo">
3+
<h1 align="center">CompactJV</h1>
4+
5+
6+
<p align="center">
7+
<img src="https://img.shields.io/badge/CompactJV-v1.0.0-blue.svg?style=for-the-badge" alt="CompactJV version">
8+
<img src="https://img.shields.io/badge/Java-v21-blue.svg?style=for-the-badge&logo=openjdk&logoColor=white" alt="Java version">
9+
<img src="https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white" alt="Windows">
10+
<img src="https://img.shields.io/badge/Gradle-v7.2-blue.svg?style=for-the-badge&logo=gradle&logoColor=white" alt="Gradle version">
11+
<img src="https://img.shields.io/badge/WIX-v3-blue.svg?style=for-the-badge&logo=wix&logoColor=white" alt="WIX version">
12+
<img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License">
13+
<img src="https://img.shields.io/badge/Contributions-Welcome-green.svg?style=for-the-badge" alt="Contributions">
14+
15+
____
16+
</p>
17+
18+
19+
**CompactJV** is a powerful compression tool developed using Java. It leverages the capabilities of Compact.exe from the
20+
Windows SDK to compress files such as games or applications. Designed with Windows operating system users in mind,
21+
CompactJV delivers high-performance file compression with the ease of use.
22+
23+
## Table of Contents
24+
25+
- [Demo](#demo)
26+
- [How It Works](#how-it-works)
27+
- [Usage](#usage)
28+
- [Getting Started](#getting-started)
29+
- [Prerequisites](#prerequisites)
30+
- [Installation](#installation)
31+
- [Contributing](#contributing)
32+
- [License](#license)
33+
- [Development Team](#development-team)
34+
- [Acknowledgements](#acknowledgements)
35+
36+
## Demo
37+
38+
<p align="center">
39+
<img src="documentation/demo/demo1.png" width="200" alt="Demo 1">
40+
<img src="documentation/demo/demo2.png" width="200" alt="Demo 2">
41+
<img src="documentation/demo/demo3.png" width="200" alt="Demo 3">
42+
<img src="documentation/demo/demo4.png" width="200" alt="Demo 4">
43+
</p>
244

3-
[//]: # (https://github.com/IRedDragonICY/CompactJV)
4-
![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white)
5-
![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white)
6-
[![Visitor](http://hits.dwyl.com/IRedDragonICY/CompactJV.svg)](http://hits.dwyl.com/IRedDragonICY/CompactJV)
45+
## Getting Started
746

8-
CompactJV is a compression tool using Compact.exe from Windows SDK to Files like games of application. This tool is developed using Java language and is intended to be used on Windows operating system.
47+
To get CompactJV running on your local machine for development and testing, follow the instructions below.
948

10-
## Getting Started
49+
## How It Works
50+
51+
CompactJV uses the Compact.exe tool from the Windows SDK to compress files. It supports several compression algorithms,
52+
including XPRESS4K, XPRESS8K, XPRESS16K, XPRESS, and LZX.
53+
54+
Here's a brief overview of how each algorithm works:
55+
56+
1. **XPRESS4K**: This is a fast compression algorithm that provides a reasonable compression ratio. The '4K' in its name
57+
refers to the size of the sliding window used during compression.
58+
59+
2. **XPRESS8K and XPRESS16K**: These are variations of the XPRESS4K algorithm. They use larger sliding windows of 8K and
60+
16K, respectively. This allows them to achieve better compression ratios, but at the cost of slower performance.
61+
62+
3. **XPRESS**: This algorithm provides a balance between performance and compression ratio. It's more efficient than
63+
XPRESS4K, XPRESS8K, and XPRESS16K, but not as powerful as LZX.
64+
65+
4. **LZX**: This is a very high-performance compression algorithm. It provides excellent compression ratios, but it's
66+
also quite slow compared to the other algorithms.
67+
68+
When you choose to compress a file with CompactJV, the program uses one of these algorithms to reduce the file's size.
69+
The specific algorithm used depends on the options you select.
1170

12-
These instructions will guide you on how to get a copy of the project up and running on your local machine for development and testing purposes.
71+
## Usage
72+
73+
Here's how to use CompactJV:
74+
75+
1. Select the file you want to compress.
76+
2. Choose the compression algorithm you want to use.
77+
3. Click the 'Compress' button.
78+
79+
CompactJV will then compress the file using the selected algorithm. The compressed file will be saved in the same
80+
location as the original file.
81+
82+
Remember: the more powerful the compression algorithm, the longer it will take to compress the file. If speed is a
83+
concern, you may want to use a faster algorithm like XPRESS4K or XPRESS. If you're more concerned about reducing the
84+
file's size as much as possible, you may want to use a more powerful algorithm like LZX.
1385

1486
### Prerequisites
1587

16-
Ensure that you have the following installed on your machine:
88+
Please make sure you have the following software installed:
1789

18-
- [Java Development Kit (JDK 17)](https://www.oracle.com/java/technologies/downloads/#java17)
90+
- [Java Development Kit (JDK 21)](https://www.oracle.com/java/technologies/downloads/#java21)
1991
- Gradle
20-
- [WIX v3](https://wixtoolset.org/docs/wix3/)
92+
- [WIX v3](https://wixtoolset.org/docs/wix3/)
2193
- [IntelliJ IDEA](https://www.jetbrains.com/idea/download/?section=windows) (optional)
2294

2395
### Installation
2496

25-
To get a local copy up and running, follow these steps:
26-
1. Ensure that you have the required tools installed.
97+
Follow these steps to get a local copy of CompactJV:
98+
99+
1. Ensure the required tools are installed.
27100
2. Clone the CompactJV repository to your local machine.
28101

29102
```bash
@@ -32,22 +105,33 @@ To get a local copy up and running, follow these steps:
32105

33106
3. Navigate to the project directory.
34107

35-
4. Run the following command to build the project:
108+
4. Run this command to build the project:
36109

37110
```bash
38111
./gradlew jpackage
39112
```
40113

41-
This will compile the project and package it into a distributable format.
114+
This command compiles the project and packages it into a distributable format.
42115

43116
## Contributing
44117

45-
We welcome contributions from all developers. Feel free to fork the project, make your changes, and submit a pull request.
118+
We welcome contributions from developers. Feel free to fork the project, make your changes, and submit a pull request.
46119

47120
## License
48121

49-
This project is licensed under the MIT License. For more information, see the `LICENSE` file in the project repository.
122+
This project is licensed under the MIT License. For more information, please refer to the `LICENSE` file in the project
123+
repository.
124+
125+
## Development Team
126+
127+
This project is brought to you by a team of dedicated developers from Universitas Ahmad Dahlan:
128+
129+
1. **Muhammad Farid Hendianto (Ndik)** - _Student ID: 2200018401_
130+
2. **Reyhanssan Islamey (Justin)** - _Student ID: 2200018411_
131+
3. **Rendie Abdi Saputra (Ryu)** - _Student ID: 2200018094_
132+
4. **Fadhil Raifan Andika** - _Student ID: 2200018458_
50133

51134
## Acknowledgements
52135

53-
- **Faisal Fajri Rahani S.Si., M.Cs.**, for his guidance and support.
136+
We would like to express our gratitude to **Faisal Fajri Rahani S.Si., M.Cs.**, for his exemplary guidance and
137+
unwavering support throughout the development of this project.

documentation/class diagram.jpg

5.14 MB
Loading

documentation/demo/demo1.png

67.6 KB
Loading

documentation/demo/demo2.png

101 KB
Loading

documentation/demo/demo3.png

66.5 KB
Loading

documentation/demo/demo4.png

70 KB
Loading

src/main/resources/com/example/compactjv/Design/design1.png renamed to src/main/Design/design1.png

File renamed without changes.

src/main/resources/com/example/compactjv/Design/design2.jpg renamed to src/main/Design/design2.jpg

File renamed without changes.

src/main/Design/design3.png

39.2 KB
Loading

0 commit comments

Comments
 (0)