Giter VIP home page Giter VIP logo

libsql-studio's Introduction

About me

  • ๐Ÿ„โ€ Currently running Khmer Coders community.
  • ๐Ÿ”ญ You can find me in DoTA 2.
  • ๐ŸŒฑ Always learn something new.

Stats

Top Langs

libsql-studio's People

Contributors

invisal avatar thormengkheang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

libsql-studio's Issues

v0.3.0 Roadmap

LibSQL Studio v0.3.0 Roadmap

What should be direction of LibSQL?

There are hundreds of database GUI in the market. It is very hard for LibSQL Studio to go toe to toe with them because:

  • Most of the popular GUI in the market has been developed for years. Dbeaver has developed over 10+ years. TablePlus has developed over 7+ years. They are feature rich and it would take years to catch up.
  • We are web-based and there are a lot of restrictions. There are a lot of features that would be impossible to be done in the browser and there are certain task that browser is too slow to perform.

Instead we should focus on what web-based allows us to do best:

  • LibSQL Studio should focus on lightweight task such as browsing data and editing table.
  • LibSQL Studio will focus on allowing people to collaboration.
  • LibSQL Studio will help easing the software development by create building block for developer.

We will attack one use-case at the time.

Headless CMS Use-case

Our first use-case that we want to solve is to turn Turso + LibSQL Studio into a mini-headless CMS. Here is how it works:

  • User create Turso database
  • User create LibSQL Studio account
  • Add Turso credential into LibSQL Studio
  • User can add more user to the project
  • User can limit access of what each user can edit in database
  • In front-end, user can directly connect to Turso database to display data

In order to achieve, we will add the following features:

Medium-like Editor

We will integrate with EditorJS (https://editorjs.io/). Any TEXT column can launch an full-fletch WYSIWYG editor. The editor should support:

  • Typology (Header, Paragraph, List, etc...)
  • Image block
  • Code block
  • Table

image

Upload Image into Column

Any TEXT column, we can add ability to upload the image and insert the uploaded image link into the column

image

Two type of connections

LibSQL Studio will offer two type of connections:

  • Direct connection: LibSQL Studio will act as if it just normal database GUI
  • Managed connection: LibSQL Studio can add extra functionality such as collaboration.

image

Collaboration

If it is managed connection, LibSQL Studio allows owner to add more user to create and edit data. In version v0.3.0, we will not focus on permission restriction. We will add more permission in later version

image


Self-Host

LibSQL Studio is an open-source project. https://libsqlstudio.com is the hosted version of LibSQL Studio. If you don't like how https://libsqlstudio.com operate, everyone is free to host it on your own. I will add more guide on how to self-host LibSQL Studio

ResponseError: SQLite error: cannot start a transaction within a transaction

Hello, I tried running this code within a transaction, but it throws an error.

-- disable foreign key constraint check
PRAGMA foreign_keys=off;

-- start a transaction
BEGIN TRANSACTION;

-- Here you can drop column
CREATE TABLE IF NOT EXISTS new_table( 
   column_definition,
   ...
);
-- copy data from the table to the new_table
INSERT INTO new_table(column_list)
SELECT column_list
FROM table;

-- drop the table
DROP TABLE table;

-- rename the new_table to the table
ALTER TABLE new_table RENAME TO table; 

-- commit the transaction
COMMIT;

-- enable foreign key constraint check
PRAGMA foreign_keys=on;

source from : https://www.sqlitetutorial.net/sqlite-alter-table/

Add multiple line editor

Editing text in our app is so limited. We can only edit a single line editing. Let expand this functions to allow user to text using multiple line editor.

The multiple line editor that we will use will be CodeMirror.

How to enter multiple line editor

  • When double click
    • If the text length greater than 100, it will enter multiple line editor
    • If the text contains any new line, it will enter multiple line editor
  • Right click on the cell, show context menu with option "Edit in Full Editor"

How does it look like?

  • Click on gray area SHOULD NOT close the sheet
  • Click save will insert the value into the cell.
  • Click "Cancel" (I forgot in the screenshot), it will exit.

image

Related code:
https://github.com/invisal/libsql-studio/blob/develop/src/components/table-cell/TextCell.tsx

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.