Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.6.0 #31

Merged
merged 17 commits into from
Nov 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up JDK 11
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11

- name: Cache local Maven repository
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
*.class
*.jar
*.iml
*.log

.idea/
/target/
/out/
.idea_modules/
.idea_modules/
19 changes: 19 additions & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
wrapperVersion=3.3.2
distributionType=only-script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.8/apache-maven-3.8.8-bin.zip
145 changes: 81 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,107 +1,124 @@
# dev-tools ![Build](https://github.com/reugn/dev-tools/workflows/Build/badge.svg)

Widely used software developer tools in a single application.
* [Json Editor](#json_editor)
* [UUID/Password Generator](#generator)
* [Hash Calculator](#hash_calculator)
* [Epoch Converter](#epoch_converter)
* [Regular Expression Tester](#regex)
* [Rest API Tester](#rest_api)
* [ASCII Graphics](#ascii)
* [Logs Generator](#logs)
A collection of developer utilities in a single desktop application.

* [JSON Editor](#json-editor)
* [Image Editor](#image-editor)
* [Rest API Tester](#rest-api-tester)
* [JWT Decoder](#jwt-decoder)
* [UUID/Password Generator](#uuid-password-generator)
* [Hash Calculator](#hash-calculator)
* [Epoch Converter](#epoch-converter)
* [Regular Expression Tester](#regular-expression-tester)
* [ASCII Graphics](#ascii-graphics)
* [Log Generator](#log-generator)

## Installation
* `dev-tools` is a [JavaFX](https://openjfx.io/) Maven application.
Build an executable jar from the source.

`dev-tools` is a [JavaFX](https://openjfx.io/) desktop application built with Maven.
Obtain a binary using one of the following methods:

* Build an executable jar from the source.

```
mvn clean package -U
./mvnw clean package
```

* Build a native application using the [GluonFX Maven plugin](https://github.com/gluonhq/gluonfx-maven-plugin).
[GraalVM](https://www.graalvm.org/) installation is required.
* Build a native application using [GluonFX Maven plugin](https://github.com/gluonhq/gluonfx-maven-plugin).
[GraalVM](https://www.graalvm.org/) installation is required. After obtaining the GraalVM distribution, the
environment variable `GRAALVM_HOME` should be set to point to it.

```
mvn clean gluonfx:build
./mvnw clean gluonfx:build
```

* Download a build from the [releases](https://github.com/reugn/dev-tools/releases).
* Download a build from [releases](https://github.com/reugn/dev-tools/releases).

## Prerequisites
* Java 11 (JavaFX is not a part of Java SDK as of JDK 11).

## Features
* Dark/Light mode.
* Java 11 or later

## Tools List
## Getting Started

<a name="json_editor"/>
* Launch the application. For the executable jar use `java -jar target/dev-tools-<version>.jar`.
* Explore the main menu and its options.
* Select a tool from the `Tools` dropdown menu. See below for a complete list with screenshots.
* Switch between light and dark themes using the `View -> Theme` menu option.
* Utilize keyboard shortcuts for faster navigation.

### Json Editor
* JSON pretty print with highlighting.
* JSON validation.
* Search Bar (Ctrl+F).
## Tool List

### JSON Editor

Edit and analyze JSON using syntax highlighting, formatting, and validation.
Use the built-in search (Ctrl+F) to find items. Navigate between documents using the multi-tab interface.

![](docs/images/json_editor.png)

<a name="generator"/>
### Image Editor

### UUID/Password Generator
* UUID Generator.
* Password Generator.
This tool incorporates an essential suite of functions for creating and editing images.

![](docs/images/generator.png)
![](docs/images/image_editor.png)

<a name="hash_calculator"/>
### Rest API Tester

### Hash Calculator
* Hash functions.
* URL Encode/Decode.
* Base64 Encode/Decode.
This tool provides a core set of functionalities for REST API testing.
Manage and share your testing process via the export and import of HTTP request history.
Access history features by Ctrl-clicking the history pane. Navigate between requests using the multi-tab interface.

![](docs/images/hash_calculator.png)
![](docs/images/rest_api.png)

<a name="epoch_converter"/>
### JWT Decoder

### Epoch Converter
* Current Unix epoch time.
* Timestamp to human date.
* Human date to timestamp.
Paste your JSON Web Token (JWT) into the input area to decode it. Use the provided buttons to
decode, encode, and verify the JWT signature. For signature verification, select the correct algorithm and provide
the necessary secrets.

![](docs/images/epoch_converter.png)
![](docs/images/jwt_decoder.png)

<a name="regex"/>
### UUID-Password Generator

### Regular Expression Tester
* Regex flags.
* Capturing groups.
Generate a series of UUIDs (Universally Unique Identifiers) or passwords according to the provided configuration
controls.

![](docs/images/regex.png)
![](docs/images/generator.png)

<a name="rest_api"/>
### Hash Calculator

### Rest API Tester
* Rest API testing client.
* Export/import HTTP request history.
This utility performs cryptographic hashing and various encoding/decoding operations on input data.

![](docs/images/rest_api.png)
![](docs/images/hash_calculator.png)

### Epoch Converter

<a name="ascii"/>
Epoch Converter is a utility for converting between Unix epoch time (seconds since January 1, 1970, 00:00:00 UTC)
and human-readable dates. Features include displaying the current Unix epoch, timestamp to date/time
conversion, and date/time to timestamp conversion.

![](docs/images/epoch_converter.png)

### Regular Expression Tester

Regular Expression Tester is a tool for testing and debugging regular expressions (regex) featuring full regex flag
support (i, m, u, etc.), comprehensive capturing group visualization and match highlighting.

![](docs/images/regex_tester.png)

### ASCII Graphics
* Convert text to ASCII art.

![](docs/images/ascii.png)
Easily turn your text into ASCII art. Customize the look with adjustable settings.

<a name="logs"/>
![](docs/images/ascii_graphics.png)

### Logs Generator
* Generate fake log workloads using a specified format.
* Write to console.
* Write to file.
### Log Generator

![](docs/images/logs.png)
Log Generator creates customizable synthetic log data for testing and development.
Choose from a selection of pre-defined standard log formats.
Write the generated logs directly to the output pane, or save them to a file for later use.

## Contributing
If you find this project useful and want to contribute, please open an issue or create a PR.
![](docs/images/log_generator.png)

## License
Licensed under the Apache 2.0 License.

Licensed under the Apache 2.0 license.
Binary file removed docs/images/ascii.png
Binary file not shown.
Binary file added docs/images/ascii_graphics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/epoch_converter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/generator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/hash_calculator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/image_editor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/json_editor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/jwt_decoder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/log_generator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/logs.png
Binary file not shown.
Binary file removed docs/images/regex.png
Binary file not shown.
Binary file added docs/images/regex_tester.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/rest_api.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading