Skip to content

ahelmy/xdev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X development tools

codecov

Inspired by DevToys

XDev helps with daily development tasks like formatting JSON, base64 encoding / decoding and others. No need to use many untrustworthy websites to do simple tasks with your data.

Table of Contents

Installation

  1. Clone the repository:
git  clone  https://github.com/ahelmy/xdev.git
  1. Navigate to the project directory:
cd  xdev
  1. Build from source:
go  build  -o  xdev
  1. Start the application:
./xdev

Development

Requirements:

  • go >= 1.20

Usage

You can use it directly by:

go  install  github.com/ahelmy/xdev@main

if go/bin is not in your path, either add it or use ~/go/bin

xdev  -h
Developer Swiss Army Knife tools X for anything.

Usage:
  xdev [flags]
  xdev [command]

Available Commands:
  base64decoder   Decode base64 string. Alias: b64d
  base64encoder   Encode string to base64. Alias: b64e
  completion      Generate the autocompletion script for the specified shell
  hash            Hash a string
  help            Help about any command
  json            JSON indentation and minification
  json2yaml       Convert JSON to YAML. Alias: j2y
  jwt             Decode or encode a JWT string.
  password        Password generator. Alias: pwd
  properties2yaml Convert Java Properties to YAML, Alias: p2y
  server          Start a web server, Alias: s
  time            Time command to covert and manupulate time
  ulid            Generate a ulid string
  url             URL encode/decode.
  uuid            Generate a uuid string, and uuid conversion
  yaml2json       Convert YAML to JSON. Alias: y2j
  yaml2properties Convert YAML to Java Properties, Alias: y2p

Flags:
  -h, --help      help for xdev
  -v, --version   Print the version number

Use "xdev [command] --help" for more information about a command.

Architecture

The project devided into layers, the core (internal) which contains all logic and outside layers of different consumers (command line, APIs, webUI, terminal).

Docker

If you want to use Xdev as server running in docker container you can use https://hub.docker.com/r/ahelmy0/xdev

Environment

  • PORT Server port, default: 8000

  • VERBOSE To enable verbose mode.

Kuberenetes

Healthcheck endpoint for liveness & readiness GET /api/health

readinessProbe:
  httpGet:
    path: /api/health
 initialDelaySeconds: 10
 periodSeconds: 10
livenessProbe:
  httpGet:
    path: /api/health
  initialDelaySeconds: 10
  periodSeconds: 10

Web UI

Features

List of features:

  • UUID, ULID Generator, conversion
  • JWT encoding / decoding
  • Base64 encoding / decoding
  • JSON indention / minifying
  • Password generator
  • JSON to Yaml
  • Yaml to JSON
  • URL encoding / decoding
  • Add hashing (SHA256, MD5, ...)
  • Time conversion
  • Yaml2Properties

Next

  • Text differences.
  • Add choco, brew and linux package managers download.

...

Contributing

If you are interested to fix an issue or to add new feature, you can just open a pull request.

Contributors

License

Licensed with Apache 2.0