-
git, nodejs, yarn or npm
-
Runing postgresql server
-
Edit "auth.hjson" file entries to connect to your db
-
Create necessary db structures and records
-- create table "categories"
CREATE TABLE categories (
id SERIAL PRIMARY KEY,
name VARCHAR(64) NOT NULL
);
-- insert some categories, at least one is required
INSERT INTO categories (name) VALUES ('category example1'),('category example2');
-- create one-row table "active_category"
CREATE TABLE active_category (
id BOOLEAN DEFAULT TRUE NOT NULL,
cat_id INTEGER,
CONSTRAINT id_uniq CHECK (id)
);
-- set default active category, it must be value of "id" column of "categories" table
INSERT INTO active_category (cat_id) VALUES (1);
-- create table "sqls" where column "text" will contain saved sql queries
CREATE TABLE sqls (
id SERIAL PRIMARY KEY,
text TEXT,
cat_id INTEGER
);
-- create one-row table "active" where "sql_id" column store id of lately added or changed row of "sqls" table
CREATE TABLE active (
id BOOLEAN DEFAULT TRUE NOT NULL,
sqls_id INTEGER,
CONSTRAINT id_uniq CHECK (id)
);
- Clone repository
/> git clone https://github.com/d-adamkiewicz/QEditorRViewer
- Install packages, when in app directory:
/> yarn install
- Run app
/> npm start
- place each of following queries in textarea and then push "Run" button each time
-- create some table
CREATE TABLE my_table(id SERIAL PRIMARY KEY, name TEXT);
-- insert some rows into table
INSERT INTO my_table (name) VALUES ('Ala ma kota'), ('Ola ma psa'), ('Pies Ali wabi się As');
-- display "name" values
SELECT name FROM my_table;
-- insert some long text
INSERT INTO my_table (name) VALUES ('Lorem ipsum dolor sit amet, consectetur adipiscing elit.');
-- 3 forms of displaying "name" column value
SELECT name AS name1_25, name AS name2_15, name AS name3_60 FROM my_table;
-
clean code, use "radium"
-
implement "display more/less rows" button instead of "display me more rows when hover on last row"
-
make "show left/right content of rows" buttons appear on the edges of the row clicked
-
use config file entries to point to table names that the app would treat as "categories", "active_category", "active", "sqls"
-
provide video presentation of how this work