# fnbkt-ui-nuxt

> Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.

Latest version **1.0.1** (published 2023-05-23) · 0 weekly downloads

## Install

```sh
npm install fnbkt-ui-nuxt
pnpm add fnbkt-ui-nuxt
yarn add fnbkt-ui-nuxt
bun add fnbkt-ui-nuxt
```

Provides the command `fnbkt-ui-nuxt`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; large bundle.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2023-05-23 |
| First published | 2023-05-23 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 17 |
| Unpacked size | 37 MB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | yes |
| Maintainers | fn.bucket.head |

## Links

- npm: https://www.npmjs.com/package/fnbkt-ui-nuxt
- npm.io page: https://npm.io/package/fnbkt-ui-nuxt

## Dependencies (17)

- [uuid](https://npm.io/package/uuid.md) ^9.0.0
- [fnbkt](https://npm.io/package/fnbkt.md) ^1.0.0
- [pinia](https://npm.io/package/pinia.md) ^2.0.35
- [@mdi/font](https://npm.io/package/@mdi/font.md) ^7.2.96
- [crypto-js](https://npm.io/package/crypto-js.md) ^4.1.1
- [codemirror](https://npm.io/package/codemirror.md) ^6.0.1
- [@pinia/nuxt](https://npm.io/package/@pinia/nuxt.md) ^0.4.9
- [fnbkt-types](https://npm.io/package/fnbkt-types.md) ^1.0.0
- [postgraphile](https://npm.io/package/postgraphile.md) ^4.13.0
- [@vuestic/nuxt](https://npm.io/package/@vuestic/nuxt.md) ^1.0.13
- [vue-codemirror](https://npm.io/package/vue-codemirror.md) ^6.1.1
- [fnbkt-repository](https://npm.io/package/fnbkt-repository.md) ^1.0.0
- [@vuestic/tailwind](https://npm.io/package/@vuestic/tailwind.md) ^0.1.3
- [recursive-readdir](https://npm.io/package/recursive-readdir.md) ^2.2.3
- [nuxt-graphql-client](https://npm.io/package/nuxt-graphql-client.md) ^0.2.27
- [@nuxtjs/google-fonts](https://npm.io/package/@nuxtjs/google-fonts.md) ^3.0.0
- [fnbkt-database-manager](https://npm.io/package/fnbkt-database-manager.md) ^1.0.0

## Recent versions

- 1.0.1 (latest) — 2023-05-23

## README

# fnb-pg-util-ui

Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.

## Setup

Make sure to install the dependencies:

```bash
# pnpm
pnpm install --shamefully-hoist
```

## Development Server

Start the development server on http://localhost:3000

```bash
npm run dev
```


Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

# Environment Setup

optionally create a .env file in the ***new-db-project*** directory
```
# .env
FNBKT_DB_OWNER_CONNECTION postgres://postgres:1234@0.0.0.0/postgres
```
the above value will be used as a default. so if you want to use docker to run postgres, a command such as this will get you going quickly.
```
# run-postgres-docker.sh
docker run --rm --name pg14 --shm-size=1g -e POSTGRES_PASSWORD=1234 -d -p 5432:5432 -v $HOME/pg/data-14:/var/lib/postgresql/data  postgres
```
**$HOME/pg/data-14** should be modified to wherever you prefer the data volume to live.

**fnb-pg-util** will use a specified database name root to create and manage the following databases on the specified server:
- [dbNameRoot]_baseline
- [dbNameRoot]_unit_test
- [dbNameRoot]_ui_dev


# Run with npx [NOT YET PUBLISHED TO NPM - COMING SOON]
To run function-bucket, you only need to provide a FNBKT_DB_OWNER_CONNECTION environment variable, which will default to `postgres://postgres:1234@0.0.0.0/postgres` if you don't.

```
mkdir new-db-project
cd new-db-project
npx fnb
```


# Production
Build the application for production:
```bash
npm run build
```
Locally preview production build:
```bash
npm run preview
```

# Motivation
functioN_Bucket is a proof of concept exploring a new approach to developing postgres databases that provides immediate unit-testing feedback as you build.  With approaches that leverage javascript testing frameworks (jest, mocha), there is a lot of extra tooling involved that gets in the way of database development.  Even with a tool such as pgTap, there are a number of lower-level hoops that a postgres developer must jump through before they are writing useful code.  (pgTap and sqitch are the good stuff, tho...)

Inspired by graphile-migrate's approach of reconstituting a testing database from a baseline, functioN_Bucket encourages a package-based release approach that manages unit-test and ui-dev database versions and associated assets.

The initial version manages generated json files that can be included in a git repository.  However, this is ultimately not the optimal method for managing assets.  Soon I intend to implement the core fnb-pg-util library as postgres database.  The UI will be rewired accordingly and extended to allow for multiple projects to be managed, etc.  This is the natural next evolution of the tool, and it will be accomplished by building the database with the tool.

Once the database-backed version is complete, it could be deployed in most any scenario.  For instance, a GCP Cloud Run service and Cloud SQL instance is all that would be needed to get going.

---
_Source: https://npm.io/package/fnbkt-ui-nuxt · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
