Comments (9)
There already is USQL
it’s a cli / tui for all databases . It supports about 20 db’s and is written in golang also.
I am personally more interested in gui tools that can express a database where users can work without a cli / tui and that run on web , desktop and mobile.
Why ?
Tooling is what your into and so am I. Can’t help it :)
but the tooling value chain is now moving higher up in the stack into Low Code sector where non devs can build a pretty decent web or mobile app with a developer only getting involved to tweak the hard bits.
It’s my own bias of course.
Gio is compelling for these tooling scenarios becaus it can run anyway and it’s pretty easy to build a Low Code like IDE on top of it .
The database editor is very easy to build on top.
that’s why I started to use gio on top of ent .
ent of course is semi low code. It’s basically hibernate for the golang community but better and you need to code gen. But it so close to billet proof that you could stick a Compiler as a Service layer on top of it with a gui and the Low Code user would have no des that it’s doing code generation under the hood .
Hope I am explaining myself well enough
from termdbms.
@gedw99 yeah you're explaining it fine. UI is a useful thing and I'll keep it in mind if I want to expand this.
That other project may be very powerful and feature rich but it looks kind of horrible. The whole reason I love @meowgorithm libraries is because it makes using the terminal feel good. UI/UX is important no matter the medium.
from termdbms.
Hey @mathaou Are you still planning on making this into a quasi spreadsheet ?
I think the hardest part would be a datalog / prolog like aspect, where changing a value in one cell causes other functions and cells to update ?
http://www.j-paine.org/compiling_spreadsheets_to_prolog.html explains the logic of this concept.
from termdbms.
Edit cell and serialization were just added. Likely a first pass of both but they hold up pretty well with testing I've done. Up next is add remove row, raw SQL, and an expanded edit during selection mode!
from termdbms.
Awesone concept .
I think that you might want to consider using gio which is a 100% golang based gui that runs on web, desktop and mobile
It already has a lot of what you need for a spreadsheet.
from termdbms.
start with this example 👍 . It’s a app scaffold:
https://github.com/gioui/gio-example/tree/main/component
This example shows multiple tabs, which you will need: https://github.com/gioui/gio-example/tree/main/tabs
There is a list component that scrolls and a forms component .
you could easily extend the list component to make a Data Table widget which is really the missing but you need.
If you want some advice just ask.
from termdbms.
I've seen that library floating around, one of my favorites after Fyne.
This app was designed to run in a headless environment (I made it for work initially). I'm not sure how useful it would be to 180 pivot what I'm doing here to do a GUI, however. I've seen lots of SQLite GUIs, and making this app GUI based would require a complete overhaul in order to make it platform agnostic. It would honestly be easier to just build something from scratch.
That being said, if you want a challenge @gedw99, feel free to fork or open a PR or whatever. I started this project with 0 expectations and I have no idea if a GUI based off termdbms is needed/wanted in the world. Do you think there's a need for it?
I've just started on 0.7-alpha release. After I finish SQL querying and context dialogs for add/remove rows/columns or macros, I think I'll be ready for the final round of polish before 1.0-alpha. GUI for beta 1.0?
from termdbms.
Yeah usql is not as complete as yours .
from termdbms.
Hey @mathaou Are you still planning on making this into a quasi spreadsheet ?
I think the hardest part would be a datalog / prolog like aspect, where changing a value in one cell causes other functions and cells to update ?
http://www.j-paine.org/compiling_spreadsheets_to_prolog.html explains the logic of this concept.
Thanks for the info. Yeah after learning more go and realizing mistakes I made along the way, I need to basically rewrite good portions of the backend to support things like that and also support line wrapping among other things.
Basically there needs to be a shim between the data layer and presentation layer, and the buffer of what gets displayed on the screen needs to be a single array. Implementing functions for cells should be fairly easy, but I would need to think about if those functions should be preset or I have functionality to write your own functions.
So I'm currently in the rearchitecture phase rn, but I'm also very strapped for time so the rewrite is a 2022 goal. Forks + PRs appreciated.
from termdbms.
Related Issues (12)
- Build failes due to "imported and not used" error HOT 3
- Fails to build with 32-bit Go HOT 2
- Databases HOT 4
- No installation instructions + getting started HOT 2
- Fails to view SQLite databases containing STRICT tables HOT 1
- Update readme to inform users how to switch between modes HOT 2
- Large (multi-gb) sqlite db support HOT 2
- runtime error: integer divide by zero HOT 6
- Crash on DB with many columns? HOT 2
- Publish a Homebrew package HOT 3
- Missing quoting when tables have "special" names HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from termdbms.