Skip to content

enderkus/jsonic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Jsonic JSON Parser

Jsonic Logo

A modern, fast, and intuitive JSON parser built with Go and React

Version License Platform Built with Wails

Features β€’ Installation β€’ Usage β€’ Development β€’ Contributing


πŸ“– Overview

Jsonic is a powerful desktop JSON parser that provides real-time validation, formatting, and minification capabilities. Built with modern technologies including Go backend and React frontend, it offers a seamless experience for developers working with JSON data.

✨ Why Jsonic?

  • πŸš€ Lightning Fast: Native performance with Go backend
  • 🎨 Modern UI: Clean, professional interface with dark theme
  • πŸ“ Line Numbers: Synchronized line numbers with smooth scrolling
  • βœ… Real-time Validation: Instant JSON syntax checking
  • πŸ”„ Format & Minify: One-click JSON formatting and minification
  • πŸ’» macOS Native: Optimized for macOS with native performance

πŸ“Έ Screenshot

Jsonic Screenshot

Jsonic in action - showing JSON validation, formatting, and synchronized line numbers


🎯 Features

Core Functionality

  • JSON Validation: Real-time syntax checking with detailed error messages
  • JSON Formatting: Pretty-print JSON with proper indentation (2 spaces)
  • JSON Minification: Compress JSON to single-line format
  • Dual Panel Layout: Side-by-side input and output panels

User Experience

  • Line Numbers: Synchronized line numbers for both input and output
  • Character Count: Real-time character counting
  • Line Count: Display total lines for input and output
  • Error Indicators: Visual feedback for JSON validity
  • Tab System: Switch between formatted and minified output

Technical Features

  • Native Performance: Built with Go for optimal speed
  • Modern Frontend: React with TypeScript and Tailwind CSS
  • Responsive Design: Adaptive layout for different screen sizes
  • Memory Efficient: Optimized for large JSON files

πŸ›  Installation

Download Pre-built Binaries

  1. Go to the Releases page
  2. Download the macOS version:

πŸ“‹ Coming Soon: Windows and Linux support will be added in future releases

Build from Source

Prerequisites

Steps

# Clone the repository
git clone https://github.com/enderkus/jsonic.git
cd jsonic

# Install Wails CLI (if not already installed)
go install github.com/wailsapp/wails/v2/cmd/wails@latest

# Build the application
wails build

# The built application will be in build/bin/Jsonic.app

Building

# Build for current platform (macOS)
wails build

# Build for specific macOS architecture
wails build -platform darwin/amd64    # Intel Macs
wails build -platform darwin/arm64    # Apple Silicon Macs

πŸš€ Usage

Basic Operations

  1. Launch Jsonic: Open the application
  2. Input JSON: Paste or type your JSON in the left panel
  3. Real-time Validation: See validation status in the top bar
  4. Format JSON: Click the "Format" button for pretty-printed output
  5. Minify JSON: Click the "Minify" button for compressed output
  6. Switch Views: Use "Formatted" and "Minified" tabs in the output panel

Keyboard Shortcuts

  • Ctrl/Cmd + A: Select all text in active panel
  • Ctrl/Cmd + C: Copy selected text
  • Ctrl/Cmd + V: Paste text
  • Ctrl/Cmd + Z: Undo (in input panel)

Tips & Tricks

  • Large Files: Jsonic handles large JSON files efficiently
  • Error Detection: Invalid JSON is highlighted with error messages
  • Line Navigation: Use line numbers to quickly locate specific parts
  • Copy Output: Click in output panel and copy formatted/minified JSON

πŸ— Development

Project Structure

jsonic/
β”œβ”€β”€ app.go              # Go backend logic
β”œβ”€β”€ main.go             # Application entry point
β”œβ”€β”€ wails.json          # Wails configuration
β”œβ”€β”€ frontend/           # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ App.tsx     # Main React component
β”‚   β”‚   β”œβ”€β”€ App.css     # Styles
β”‚   β”‚   └── assets/     # Static assets
β”‚   β”œβ”€β”€ package.json    # Frontend dependencies
β”‚   └── dist/           # Built frontend (generated)
└── build/              # Built application (generated)

Development Setup

# Clone and enter directory
git clone https://github.com/enderkus/jsonic.git
cd jsonic

# Install frontend dependencies
cd frontend
npm install
cd ..

# Run in development mode
wails dev

Technology Stack

  • Backend: Go 1.19+
  • Frontend: React 18 + TypeScript
  • Styling: Tailwind CSS 3.4
  • Build Tool: Vite
  • Desktop Framework: Wails v2
  • Font: JetBrains Mono

🀝 Contributing

We welcome contributions! Here's how you can help:

Reporting Issues

  1. Check existing issues
  2. Create a new issue with:
    • Clear description
    • Steps to reproduce
    • Expected vs actual behavior
    • System information

Development Contributions

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Test thoroughly
  5. Commit: git commit -m 'Add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

Code Style

  • Go: Follow standard Go formatting (gofmt)
  • TypeScript/React: Use ESLint and Prettier
  • Commits: Use conventional commit messages

πŸ“ Changelog

v0.9.0-beta (Current)

  • ✨ Initial beta release
  • βœ… JSON validation, formatting, and minification
  • 🎨 Modern dark theme UI
  • πŸ“ Synchronized line numbers
  • πŸ”„ Dual panel layout
  • πŸ’» macOS native support (Intel & Apple Silicon)

Roadmap to v1.0.0

  • πŸ› Bug fixes based on user feedback
  • ⚑ Performance optimizations
  • 🎨 UI/UX improvements
  • πŸ“± Better responsive design
  • πŸ”§ Additional configuration options
  • πŸ–₯️ Windows and Linux platform support

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ’– Support

If you find Jsonic useful, consider supporting the project:

  • ⭐ Star this repository
  • πŸ› Report bugs and suggest features
  • πŸ’° Buy me a coffee
  • πŸ“’ Share with your developer friends

πŸ™ Acknowledgments

  • Wails - For the amazing Go + Web framework
  • React - For the powerful frontend library
  • Tailwind CSS - For the utility-first CSS framework
  • JetBrains Mono - For the beautiful monospace font

Made with ❀️ by Ender KUŞ

GitHub β€’ Issues β€’ Releases

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published