Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esh2n/spanner-gui
๐ A simple and user-friendly GUI client for Google Cloud Spanner, built with Next.js and Tauri.
https://github.com/esh2n/spanner-gui
nextjs spanner tauri
Last synced: 4 months ago
JSON representation
๐ A simple and user-friendly GUI client for Google Cloud Spanner, built with Next.js and Tauri.
- Host: GitHub
- URL: https://github.com/esh2n/spanner-gui
- Owner: esh2n
- Created: 2024-09-13T12:34:58.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-14T04:44:26.000Z (5 months ago)
- Last Synced: 2024-09-27T17:02:59.102Z (4 months ago)
- Topics: nextjs, spanner, tauri
- Language: TypeScript
- Homepage:
- Size: 734 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ Spanner GUI SQL Client
๐ A simple and user-friendly GUI client for Google Cloud Spanner, built with Next.js and React.
## ๐ Features
- ๐ Easy navigation of Spanner instances and databases
- โก Execute SQL queries
- ๐ View query results in a clean, tabular format
- ๐ Query history for quick access to past operations
- ๐จ Syntax highlighting and query formatting
- ๐ฑ Responsive design for desktop and mobile use## ๐ฆ Installation
```bash
git clone https://github.com/esh2n/spanner-gui.git
cd spanner-gui
bun install
bun run dev.tauri
```## ๐ Quick Start
### 1. Set up Google Cloud credentials
Ensure you have set up your Google Cloud credentials. You can do this by setting the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to point to your service account key file.
```shellscript
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"
```### 2. Run the development server
```shellscript
bun run dev.tauri
```## ๐ฅ Usage
1. Enter your Google Cloud Project ID and click "Initialize"
2. Select a Spanner instance from the dropdown
3. Choose a database from the selected instance
4. Write your SQL query in the editor
5. Click "Execute" to run the query
6. View results in the table below
7. Access query history in the "History" tab## ๐ API Reference
### POST /api/spanner
Handles all Spanner-related operations.
#### Request Body
```typescript
{
type: 'instances' | 'databases' | 'query',
projectId: string,
instanceId?: string,
databaseId?: string,
query?: string
}
```#### Response
- For `instances`: Array of instance names
- For `databases`: Array of database names
- For `query`: Array of result rows## ๐ค Contributing
We welcome contributions! Here's how you can help:
1. ๐ด Fork the repository
2. ๐ฟ Create your feature branch: `git checkout -b my-new-feature`
3. ๐พ Commit your changes: `git commit -am 'Add some feature'`
4. ๐ Push to the branch: `git push origin my-new-feature`
5. ๐ Submit a pull request## ๐ TODO
- ๐ Implement user authentication
- ๐ Add visual query plan explanation
- ๐ Support for DML operations (INSERT, UPDATE, DELETE)
- ๐ Query performance metrics
- ๐ Dark mode support
- ๐งช Comprehensive unit and integration testing## ๐ License
MIT
## ๐ Acknowledgements
- [Next.js](https://nextjs.org/)
- [React](https://reactjs.org/)
- [Tauri](https://tauri.app/)
- [Google Cloud Spanner](https://cloud.google.com/spanner)
- [Tailwind CSS](https://tailwindcss.com/)
- [shadcn/ui](https://ui.shadcn.com/)