SQL Monkey is a modern web application for managing and organizing your SQL queries collection. Built with React and Vite, it provides a clean and intuitive interface for storing, editing, formatting, and managing your SQL snippets.
- 📝 CRUD Operations: Create, read, update, and delete SQL queries
- 🎨 SQL Formatting: Automatic SQL formatting with configurable options
- 🔍 Smart Search: Search through your SQL collection by name or description
- 📋 Copy to Clipboard: One-click copy functionality
- 💾 Local File System: Work with local JSON files using File System Access API
- 🏷️ Query Types: Categorize queries (SELECT, INSERT, UPDATE, DELETE, DDL)
- 🎯 Syntax Highlighting: Beautiful SQL syntax highlighting
- 🍞 Toast Notifications: User-friendly feedback system
- 📱 Responsive Design: Works on desktop and mobile devices
- Node.js (version 16 or higher)
- pnpm (recommended) or npm
- Clone the repository:
git clone <repository-url>
cd SQL-Monkey
- Install dependencies:
pnpm install
- Start the development server:
pnpm dev
- Open your browser and navigate to
http://localhost:5173
pnpm build
- Select a JSON File: Click "Selecionar arquivo JSON" to choose your SQL collection file
- Add New SQL: Use the "+" button to create a new SQL query
- Edit Queries: Click the edit icon to modify existing queries
- Format SQL: Use the format button to automatically format your SQL code
- Search: Use the search bar to find specific queries
- Copy: Click the copy icon to copy SQL to clipboard
Your SQL collection should be a JSON array with the following structure:
[
{
"name": "Get All Users",
"description": "Retrieve all users from the database",
"type": "QUERY",
"sql": "SELECT * FROM users;"
}
]
- React 19 - UI Framework
- Vite - Build Tool
- SQL Formatter - SQL formatting and parsing
- Prism React Renderer - Syntax highlighting
- React Icons - Icon library
- File System Access API - Local file operations
This application uses the File System Access API, which is supported in:
- Chrome/Chromium 86+
- Edge 86+
- Opera 72+
For unsupported browsers, a fallback message is displayed.