Skip to content

jeoste/json-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ JSON Tools - JSON Data Generator & Anonymizer

A modern desktop application for generating realistic test data and anonymizing sensitive information in JSON format.

License: MIT Node.js Python Electron

πŸ“Έ Screenshots

Main Interface - Data Generation

Main Interface Modern dark theme interface with sidebar navigation and real-time preview

Data Generation in Action

Data Generation Generate realistic test data from JSON skeleton with Swagger/OpenAPI constraints

Data Anonymization

Data Anonymization Anonymize sensitive data while preserving structure and relationships

Configuration Panel

Configuration Intuitive configuration with file upload and direct content editing

Generated Data Preview

Preview Real-time preview with syntax highlighting and formatting options

✨ Features

🎯 Core Functionality

  • Smart Data Generation: Create realistic test data using Faker.js
  • JSON Skeleton Support: Define data structure with JSON templates
  • Swagger/OpenAPI Integration: Apply API constraints and validation rules
  • Data Anonymization: Protect sensitive information while preserving data utility
  • Real-time Preview: See generated data instantly with syntax highlighting

🎨 User Experience

  • Modern Interface: Clean, dark theme with intuitive navigation
  • Dual Input Methods: File upload or direct content editing
  • Export Options: Save to file or copy to clipboard
  • Format & Validate: Automatic JSON formatting and validation
  • Status Indicators: Real-time feedback on operations

πŸ”§ Technical Features

  • Cross-platform: Works on Windows, macOS, and Linux
  • Offline Capable: No internet connection required
  • Fast Processing: Efficient data generation and anonymization
  • Extensible: Modular architecture for easy customization

πŸ› οΈ Installation

Prerequisites

Quick Start

  1. Clone the repository

    git clone https://github.com/your-username/jsonnymous.git
    cd jsonnymous
  2. Install dependencies

    npm run install
  3. Launch the application

    npm start

πŸ“– Usage Guide

1. Data Generation

  1. Select Input Method: Choose between file upload or direct content editing
  2. Provide JSON Skeleton: Define your data structure template
  3. Add Swagger (Optional): Include API constraints for validation
  4. Generate Data: Click "Generate Data" to create realistic test data
  5. Export Results: Save to file or copy to clipboard

2. Data Anonymization

  1. Load Source Data: Upload JSON file or paste content directly
  2. Configure Anonymization: Select fields and anonymization methods
  3. Preview Changes: Review anonymized data before saving
  4. Export Anonymized Data: Save secure version of your data

3. Advanced Features

  • Batch Processing: Generate multiple datasets at once
  • Custom Patterns: Define custom data generation patterns
  • Validation Rules: Apply complex validation constraints
  • Data Relationships: Maintain referential integrity

πŸ“ Project Structure

jsonnymous/
β”œβ”€β”€ electron/                 # Electron app files
β”‚   β”œβ”€β”€ main.js              # Main process
β”‚   β”œβ”€β”€ renderer/            # Renderer process
β”‚   β”‚   β”œβ”€β”€ index.html       # UI structure
β”‚   β”‚   β”œβ”€β”€ renderer.js      # UI logic
β”‚   β”‚   └── styles.css       # Styling
β”‚   └── package.json         # Electron dependencies
β”œβ”€β”€ src/                     # Python backend
β”‚   β”œβ”€β”€ data_generator.py    # Data generation logic
β”‚   β”œβ”€β”€ data_anonymizer.py   # Anonymization engine
β”‚   β”œβ”€β”€ json_processor.py    # JSON processing utilities
β”‚   └── cli_generate.py      # CLI interface
β”œβ”€β”€ examples/                # Sample files
β”œβ”€β”€ docs/                    # Documentation
└── screenshots/             # Application screenshots

πŸš€ Development

Available Scripts

npm start          # Launch the application
npm run dev        # Development mode with hot reload
npm run build      # Build for production
npm run build-win  # Build for Windows
npm run dist       # Create distribution package

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests (if available)
  5. Submit a pull request

🎨 Examples

Basic JSON Skeleton

{
  "users": [
    {
      "id": "{{faker.random.uuid}}",
      "name": "{{faker.name.fullName}}",
      "email": "{{faker.internet.email}}",
      "age": "{{faker.random.number(18, 80)}}",
      "address": {
        "street": "{{faker.address.streetAddress}}",
        "city": "{{faker.address.city}}",
        "country": "{{faker.address.country}}"
      }
    }
  ]
}

Swagger Integration

openapi: 3.0.0
info:
  title: User API
  version: 1.0.0
paths:
  /users:
    get:
      responses:
        '200':
          description: List of users
          content:
            application/json:
              schema:
                type: object
                properties:
                  users:
                    type: array
                    items:
                      $ref: '#/components/schemas/User'

πŸ”§ Troubleshooting

Common Issues

"Python not found"

  • Install Python from https://python.org
  • Ensure "Add Python to PATH" is checked during installation
  • Restart your computer after installation

"npm command not found"

  • Install Node.js from https://nodejs.org
  • Restart your terminal/command prompt
  • Verify installation with node --version

Application won't start

  • Check that all dependencies are installed: npm run install
  • Verify Python and Node.js versions meet requirements
  • Check the console for error messages

Performance Tips

  • Use smaller datasets for initial testing
  • Enable hardware acceleration in settings
  • Close other resource-intensive applications

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Guidelines

  • Follow existing code style and conventions
  • Add tests for new features
  • Update documentation as needed
  • Ensure cross-platform compatibility

πŸ“„ License

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

πŸ™ Acknowledgments

  • Faker.js for realistic data generation
  • Electron for cross-platform desktop capabilities
  • OpenAPI specification for API constraints
  • Acreom for design inspiration

πŸ“ž Support


Made with ❀️ by the JSONnymous Team

Transform your data workflow with intelligent generation and anonymization

About

Create test data from OAS

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published