Skip to content

Commit

Permalink
Merge branch 'develop' into experimental-standable-react
Browse files Browse the repository at this point in the history
  • Loading branch information
invisal committed Sep 28, 2024
2 parents 17505b0 + 8dcd50b commit df0b1e1
Show file tree
Hide file tree
Showing 233 changed files with 13,551 additions and 3,055 deletions.
20 changes: 20 additions & 0 deletions .github/workflows/coverags.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "Compute Coverage"
on:
pull_request:
branches:
- develop
jobs:
coverage:
runs-on: ubuntu-latest
permissions:
contents: read
checks: write
pull-requests: write
steps:
- uses: actions/checkout@v3

- uses: actions/setup-node@v3
with:
node-version: 20

- uses: ArtiomTr/jest-coverage-report-action@v2
682 changes: 661 additions & 21 deletions LICENSE

Large diffs are not rendered by default.

33 changes: 10 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,18 @@
# LibSQL Studio

LibSQL Studio is a lightweight LibSQL graphical client on your browser written using NextJS.
LibSQL Studio is a fully-featured, lightweight GUI client for managing SQLite-based databases like Turso, LibSQL, and rqlite. It runs entirely in your browser, so there's no need to download anything.

Try [LibSQL Studio](https://libsqlstudio.com/) online here.
[![LibSQL Studio, sqlite online editor](https://github.com/user-attachments/assets/5d92ce58-9ce6-4cd7-9c65-4763d2d3b231)](https://libsqlstudio.com)
[![Libsql studio playground](https://github.com/user-attachments/assets/dcf7e246-fe72-4351-ab10-ae2d1658087d)](https://libsqlstudio.com/playground/client?template=chinook)

![LibSQL Studo Screenshot](https://github.com/invisal/libsql-web-viewer/assets/4539653/82014129-2ea3-4619-9287-2dc756baba6c)

**Features**
## Features

- Optimize table result to view large query result
- Edit your table data in spreadsheet-like editor
- Query editor with basic syntax highlighting and basic auto complete
- Basic connection management
![libsqlstudio-git-preview (7)](https://github.com/user-attachments/assets/1d7a3d90-61e3-4a77-83a5-4bb096bbfb4b)

## How to contribute
- **Query Editor**: It features a user-friendly query editor equipped with auto-completion and function hint tooltips. It allows you to execute multiple queries simultaneously and view their results efficiently.
- **Data Editor**: It comes with a powerful data editor, allowing you to stage all your changes and preview them before committing. The data table is highly optimized and lightweight, capable of rendering thousands of rows and columns efficiently.
- **Schema Editor**: It allows you to quickly create, modify, and remove table columns with just a few clicks without writing any SQL.
- **Connection Manager**: It includes a flexible connection manager, allowing you to store your connections locally in your browser. You can also store them on a server and share your connections across multiple devices.

To run the project

```
pnpm install
cd studio
pnpm run dev
```

**Folder structure**

| Folder | Description |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/gui` | This is standalone database GUI React component. It is not tied to any specific database driver, allowing users to extend and integrate it into their own projects with ease. |
| `/studio` | It is complete database GUI client as seen in https://libsqlstudio.com. Come with database drivers and many other features |
The features mentioned above are just a few of the many we offer. Give it a try to explore everything we have in store.
27 changes: 27 additions & 0 deletions drizzle/0010_mature_sumo.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
CREATE TABLE `doc` (
`id` text PRIMARY KEY NOT NULL,
`namespace_id` text,
`user_id` text,
`name` text,
`type` text,
`content` text,
`last_used_at` integer,
`updated_at` integer,
`created_at` integer,
FOREIGN KEY (`namespace_id`) REFERENCES `doc_namespace`(`id`) ON UPDATE no action ON DELETE no action,
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action
);
--> statement-breakpoint
CREATE TABLE `doc_namespace` (
`id` text PRIMARY KEY NOT NULL,
`database_id` text,
`user_id` text,
`name` text,
`updated_at` integer,
`created_at` integer,
FOREIGN KEY (`database_id`) REFERENCES `database`(`id`) ON UPDATE no action ON DELETE no action,
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE no action
);
--> statement-breakpoint
CREATE INDEX `doc_namespace_idx` ON `doc` (`namespace_id`);--> statement-breakpoint
CREATE INDEX `doc_namespace_database_idx` ON `doc_namespace` (`database_id`);
1 change: 1 addition & 0 deletions drizzle/0011_brief_nick_fury.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE database ADD `database_name` text;
2 changes: 2 additions & 0 deletions drizzle/0012_wealthy_betty_ross.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DROP TABLE `database_role_permission`;--> statement-breakpoint
ALTER TABLE database_role ADD `permissions` text;
Loading

0 comments on commit df0b1e1

Please sign in to comment.