https://github.com/erickgnavar/melocoton
Simple database client
https://github.com/erickgnavar/melocoton
database elixir postgres sqlite tauri
Last synced: 2 months ago
JSON representation
Simple database client
- Host: GitHub
- URL: https://github.com/erickgnavar/melocoton
- Owner: erickgnavar
- License: mit
- Created: 2024-08-11T05:39:18.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2026-04-18T18:29:40.000Z (2 months ago)
- Last Synced: 2026-04-18T18:38:48.739Z (2 months ago)
- Topics: database, elixir, postgres, sqlite, tauri
- Language: Elixir
- Homepage: https://melocoton.app
- Size: 2.51 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Melocoton
A keyboard-driven, multi-platform database client for SQLite, PostgreSQL, and MySQL.
Built with Elixir/Phoenix LiveView and packaged as a desktop app with Tauri.
## Features
- **Keyboard-native** — every action reachable from the keyboard, shortcut hints shown inline
- **SQL editor** — write and execute queries with results displayed in dense, scannable tables
- **Transaction support** — interactive transactions with explicit commit/rollback control
- **Table explorer** — browse schemas, tables, indexes, and column definitions
- **Multiple databases** — connect to several databases and switch between them quickly
- **Connection groups** — organize databases by project, environment, or team
- **AI assistant** — natural language to SQL with schema-aware chat, supporting Anthropic, OpenAI, OpenRouter, MiniMax,
and local models via Ollama
- **Data export** — export query results to CSV or Excel
- **Cross-platform** — runs as a web app or a native desktop app (macOS, Linux)
## Requirements
- [mise](https://mise.jdx.dev/getting-started.html) — manages Elixir, Erlang, and Node.js versions
- [just](https://github.com/casey/just) — command runner for common tasks (see `justfile`)
- [Rust](https://rustup.rs/) — required only for desktop builds (Tauri)
## Development
```bash
# Install tool versions (Elixir, Node, etc.)
mise install
# Install dependencies and set up the database
just setup
# Start the dev server at localhost:4000
just dev
```
A `justfile` defines all common tasks. Run `just --list` to see available recipes:
```bash
just test # Run all tests
just ci # Full CI suite (format + deps + tests)
just fmt # Format code
just release # Full desktop app build
just tauri-dev # Tauri dev mode with hot reload
just db-migrate # Run pending migrations
just db-reset # Drop + create + migrate + seed
```
## Tech stack
| Layer | Technology |
|-----------|--------------------------|
| Backend | Elixir, Phoenix LiveView |
| Frontend | LiveView, Tailwind CSS |
| Desktop | Tauri (Rust) |
| Databases | Postgrex, Exqlite, MyXQL |
| Packaging | Burrito |