π Deepict is an AI-powered JSON data visualization tool that makes complex JSON data intuitive and easy to understand. Through intelligent analysis and beautiful visualization interfaces, it helps developers quickly understand and analyze data structures.
Electron.mp4
π Watch the complete feature demonstration of Deepict
- π€ AI Smart Analysis - Uses Claude AI to automatically analyze JSON data structure and generate optimal visualization solutions
- π Multiple Visualizations - Supports tables, charts, tree diagrams and various data display methods
- π¨ Beautiful Interface - Modern dark theme design following Apple design standards
- π File Support - Supports drag-and-drop upload for JSON and JSONL file formats
- π¬ Smart Conversation - Interact with AI through chat interface for customized data visualization needs
- π Data Search - Quickly search and filter specific content in JSON data
- π₯οΈ Desktop Application - Cross-platform desktop app supporting Windows, macOS and Linux
- API Development & Debugging - Quickly view and analyze API response data
- Data Analysis - Convert complex JSON data into intuitive visualization charts
- Log Analysis - Analyze JSONL format log files
- Configuration File Viewing - Visualize and edit configuration files
- Data Migration - Validate and analyze JSON formats during data migration process
- π Next.js 15 - Latest App Router with React 19
- β‘ Electron 37 - Cross-platform desktop app framework
- π¨ Mantine 8 - Modern React components library with dark mode support
- π Emotion - CSS-in-JS styling with excellent performance
- π§ Tailwind CSS 4 - Utility-first CSS framework
- π¦ Sass - Enhanced CSS with variables and mixins
- π― TypeScript - Full type safety throughout the stack
- π₯ Hot Reload - Fast development with instant updates
- π± Responsive Design - Mobile-first approach with adaptive layouts
- π Dark Mode - Built-in dark/light theme switching
- π SVG Support - Automatic SVG to React component conversion
- π¦ Auto Updates - Ready for electron-updater integration
- π Security - Context isolation and secure preload scripts
| Category | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 15 + React 19 | Modern web application framework |
| Desktop | Electron 37 | Cross-platform desktop runtime |
| UI Library | Mantine 8 | Component library with theming |
| Styling | Emotion + Tailwind CSS + Sass | Multi-layered styling solution |
| AI Service | Anthropic Claude | Smart data analysis and visualization |
| Language | TypeScript | Type-safe development |
| Package Manager | pnpm | Fast, efficient package management |
| Build Tool | tsup | TypeScript bundler for Electron |
| Code Quality | ESLint + dprint | Linting and formatting |
Deepict now supports multiple deployment methods:
Deploy as a web application accessible through browsers:
# Quick web deployment
pnpm web:build
pnpm web:startContainerized deployment for easy scaling:
# Using Docker Compose
docker-compose up -d
# Or manual Docker build
docker build -t deepict:latest .
docker run -p 3000:3000 deepict:latestCross-platform desktop application:
# Development
pnpm dev
# Production build
pnpm build && pnpm dist- Node.js 18+
- pnpm 8+
- Anthropic API Key (for AI features)
- Docker (optional, for containerized deployment)
# Clone the repository
git clone https://github.com/deepaste-ai/deepict
cd deepict
# Install dependencies
pnpm install
# Choose your deployment method:
# 1. Desktop Development (original)
pnpm dev
# 2. Web Development
pnpm web:dev
# 3. Docker Development
docker-compose up --build-
Create environment file:
cp .env.example .env.local
-
Add your Anthropic API Key:
ANTHROPIC_API_KEY=your_anthropic_api_key_here
-
Or configure via the application settings UI
- Desktop: Electron app with native OS integration
- Web: Browser-based application with PWA support
- Docker: Containerized deployment for cloud platforms
# Desktop Development (Electron)
pnpm dev # Start both Next.js and Electron in development
pnpm next:dev # Start Next.js development server only
pnpm electron:dev # Start Electron with hot reload only
# Web Development
pnpm web:dev # Start web development server
pnpm web:build # Build for web deployment
pnpm web:start # Start web production server
# Docker Development
pnpm docker:dev # Start with Docker Compose
pnpm docker:build # Build Docker image
pnpm docker:run # Run Docker container# Desktop Distribution
pnpm build # Build for production (Electron)
pnpm dist # Create distribution package
pnpm dist:nsis # Create Windows installer (NSIS)
pnpm dist:deb # Create Linux package (DEB)
# Web Distribution
pnpm web:build # Build for web deployment
pnpm web:start # Start web production server
# Docker Distribution
pnpm docker:build # Build Docker image
pnpm docker:prod # Run production Docker container# Use deployment script for automated builds
./scripts/deploy.sh -t web # Web deployment
./scripts/deploy.sh -t electron # Electron deployment
./scripts/deploy.sh -t docker -d v1.0.0 # Docker deploymentpnpm next:lint # Run ESLint
pnpm format # Format code with dprintβββ src/
β βββ app/ # Next.js App Router pages
β β βββ fapi/ # API routes for AI services
β β βββ layout.tsx # Root layout with providers
β β βββ page.tsx # Main application page
β βββ components/ # React components
β β βββ AIChat.tsx # AI chat interface
β β βββ JsonViewer.tsx # JSON data viewer
β β βββ JsonList.tsx # JSON list navigation
β β βββ FileDropzone.tsx # File upload component
β β βββ Settings.tsx # Settings configuration
β β βββ basic/ # Core registry components
β βββ stores/ # Zustand state management
β βββ services/ # API services and SSE
β βββ utils/ # Utility functions
β βββ styles/ # Global styles and Sass files
β βββ types/ # TypeScript type definitions
β βββ assets/ # Static assets
βββ electron/
β βββ main.ts # Electron main process
β βββ preload.ts # Preload script for IPC
βββ build-assets/ # Build assets (icons, etc.)
βββ public/ # Static files
βββ build/ # Compiled Electron files
βββ .next/ # Next.js build output
- Smart Structure Recognition: Automatically detects data patterns and relationships
- Context-Aware Visualization: Generates appropriate charts based on data type and content
- Natural Language Interface: Describe what you want to see in plain English
- Iterative Refinement: Continuously improve visualizations through conversation
- JSON Files: Standard JSON data structures
- JSONL Files: Line-delimited JSON for streaming data and logs
- Drag & Drop: Intuitive file upload with visual feedback
- Real-time Processing: Instant parsing and visualization
- Interactive Charts: Dynamic charts with ECharts integration
- Data Tables: Sortable and filterable tabular views
- Tree Visualization: Hierarchical data representation
- Code Highlighting: Syntax-highlighted JSON with collapsible sections
- Cross-Platform: Works on Windows, macOS, and Linux
- Local Processing: No data leaves your machine
- Offline Capable: Works without internet connection
- Performance: Native desktop performance with web technologies
Create a .env.local file for local development:
# Anthropic API Key (optional - can be set in app settings)
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# App Configuration
NEXT_PUBLIC_APP_NAME=DeepictYou can configure your Anthropic API Key in two ways:
-
Through the Application (Recommended):
- Launch Deepict
- Click the settings icon in the AI chat panel
- Enter your API key securely
-
Environment Variable:
- Set
ANTHROPIC_API_KEYin your.env.localfile - Restart the application
- Set
- AI Prompts: Modify system prompts in
src/servers/fapi/index.ts - Chart Themes: Update chart configurations for different themes
- UI Theme: Customize Mantine theme in
src/components/basic/MantineRegistry.tsx
Edit electron/main.ts to customize the application window:
const mainWindow = new BrowserWindow({
width: 1400,
height: 900,
minWidth: 1000,
minHeight: 700,
// Add more window options
});- Mantine Theme: Modify
src/components/basic/MantineRegistry.tsx - Tailwind Config: Edit
tailwind.config.js - Global Styles: Update
src/styles/globals.css
# Build for current platform
pnpm dist
# Build for specific platforms
pnpm dist:nsis # Windows
pnpm dist:deb # LinuxEdit package.json build configuration:
{
"build": {
"appId": "com.yourcompany.yourapp",
"productName": "Your App Name",
"directories": {
"output": "dist"
}
}
}- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - The React Framework for Production
- Electron - Build cross-platform desktop apps
- Mantine - Modern React components library
- Anthropic - AI services powering intelligent data analysis
- ECharts - Powerful charting and visualization library
- Tailwind CSS - Utility-first CSS framework
- Zustand - Lightweight state management
- π Report Issues
- π¬ Discussions
- π Documentation
Made with β€οΈ by AIEPhoenix & Pandazki
β Star this repository if Deepict helped you visualize your data!