A modern web application for comparing JSON structures with multiple comparison modes, built with Nuxt 3, Vue 3, and TypeScript.
- Smart Comparison: Structure and complete comparison modes
- Professional Editor: CodeMirror 6 with syntax highlighting
- Modern Interface: Responsive design with light/dark theme
- TypeScript: Full static typing
- Clean Architecture: Modular structure with composables and stores
├── components/ # Reusable Vue components
├── composables/ # Reusable Vue logic
├── stores/ # Global state (Pinia)
├── utils/ # Utilities and helpers
├── types/ # TypeScript definitions
├── assets/ # Static assets
├── middleware/ # Nuxt middleware
├── plugins/ # Nuxt plugins
├── app.vue # Root component
└── nuxt.config.ts # Configuration
- Framework: Nuxt 3
- UI: Vue 3 + Composition API
- Styling: TailwindCSS
- Editor: CodeMirror 6
- State: Pinia
- Typing: TypeScript
- Build: Vite
# Install dependencies
pnpm install
# Development server
pnpm dev
# Production build
pnpm build
# Preview build
pnpm preview- Paste JSON: Enter your JSONs in the editors
- Select Mode: Structure or Complete
- Compare: View highlighted differences
- Navigate: Use arrows to navigate between differences
Ctrl+S: Format JSONCtrl+A: Select allCtrl+D: Select lineAlt+↑/↓: Move lineShift+Alt+↓: Duplicate line←/→: Navigate differences
useJsonComparison: Comparison logicuseTheme: Light/dark theme management
- Global application state
- Difference and navigation management
- Modular and reusable
- TypeScript typed props
- Scoped styles
The project uses aliases for clean imports:
// Instead of
import { JsonComparator } from '../../../utils/jsonComparator'
// Use
import { JsonComparator } from '~/utils/jsonComparator'- Meta tags for search engines
- Open Graph for social sharing
- Structured data markup
- Performance optimized
MIT
