Skip to content

feat: Complete TextBasedConverter with 40+ algorithms and cleanup#11

Merged
vuon9 merged 4 commits intomainfrom
feat/text-based-converter
Jan 31, 2026
Merged

feat: Complete TextBasedConverter with 40+ algorithms and cleanup#11
vuon9 merged 4 commits intomainfrom
feat/text-based-converter

Conversation

@vuon9
Copy link
Owner

@vuon9 vuon9 commented Jan 31, 2026

Summary

This PR completes the TextBasedConverter unified tool and removes all deprecated standalone tools.

🚀 Major Features

Backend - 40+ Algorithms Implemented

  • Encryption (8): AES, AES-GCM, DES, Triple DES, ChaCha20, Salsa20, XOR, RC4
  • Encoding (12): Base64, Base32, Base58, Base16 (Hex), URL, HTML Entities, Binary, Morse Code, ROT13, ROT47, Quoted-Printable
  • Hashing (19): MD5, SHA-1/224/256/384/512, SHA-3, BLAKE2b, BLAKE3, RIPEMD-160, bcrypt, scrypt, Argon2, HMAC, CRC32, Adler-32, MurmurHash3, xxHash, FNV-1a
  • Conversion (11): JSON↔YAML, JSON↔XML, JSON↔CSV, YAML↔TOML, Markdown↔HTML, CSV↔TSV, Properties↔JSON, INI↔JSON, Key-Value↔Query String

Frontend - Enhanced UX

  • All Hashes View: Grid display showing all 19 hash algorithms at once with individual copy buttons
  • Smart Configuration: Auto-shows key/IV inputs only when needed
  • Auto-run Mode: Results update instantly as you type (toggleable)
  • Layout Toggle: Switch between horizontal/vertical split panes
  • Fixed Fast Refresh: Separated constants from components

🧹 Cleanup

  • Removed 5 Deprecated Tools:
    • Base64Converter
    • HashGenerator
    • HexAsciiConverter
    • HtmlEntityConverter
    • DataConverter
  • Updated Routes: App.jsx and Sidebar.jsx cleaned up
  • Documentation: README.md rewritten for end-users, TOOL_STATUS.md updated

🧪 Testing

  • 56 Unit Tests: All algorithms covered with table-driven tests
  • CI/CD: New GitHub Actions workflow for Go tests
  • Build Verification: Tests run on all platforms (Linux, Windows, macOS)

📊 Stats

  • +2,673 lines added
  • -1,175 lines removed
  • 30 files changed
  • 5 files deleted (deprecated tools)

Testing

  • All Go tests pass: "go test ./internal/converter/... -v"
  • Backend builds successfully
  • Frontend compiles without errors
  • TextBasedConverter works in browser

Checklist

  • Implements all listed algorithms in CONVERTER_MAP
  • Follows Carbon Design System guidelines
  • Uses useReducer for state management
  • Copy buttons present on all outputs
  • Monospace fonts for data
  • No unused imports or variables
  • Documentation updated

Ready for review! 🎉

vuon9 added 2 commits January 31, 2026 11:06
…ecated tools

Backend:
- Add 40+ conversion algorithms across 4 categories (encrypt, encode, hash, convert)
- Implement All Hashes view with multi-output grid display
- Add RSA, CURL↔Fetch, Cron↔Text conversions
- Add comprehensive unit tests (56 test cases total)
- Add GitHub Actions workflow for Go tests

Frontend:
- Add MultiHashOutput component for All Hashes view
- Refactor layout constants to fix Fast Refresh issues
- Widen method dropdown to 280px
- Create constants.js files for proper module exports
- Remove 5 deprecated tools (Base64, Hash, Hex, HtmlEntity, Data converters)

Documentation:
- Update README.md with end-user focused feature tables
- Remove deprecated tools from TOOL_STATUS.md
- Mark TextBasedConverter as complete (🟢 Done)

CI/CD:
- Add tests.yml GitHub Actions workflow
- Add test step to existing build.yml
@vuon9 vuon9 self-assigned this Jan 31, 2026
vuon9 added 2 commits January 31, 2026 11:16
- build.yml: Only run on version tags (releases) + manual trigger
- build.yml: Remove PR/push triggers to save resources
- build.yml: Add automatic GitHub Release creation with assets
- tests.yml: Add frontend build job using Bun
- tests.yml: Trigger on both Go and JS/TS file changes
- tests.yml: Separate jobs for Go tests and Frontend build
- Tests & Build workflow badge
- Wails Build workflow badge
- MIT License badge
- Go version badge
@vuon9 vuon9 merged commit d7ab747 into main Jan 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant