updated shell scripts to use binaries
This commit is contained in:
parent
62c527acf8
commit
14761fa3e5
28
README.md
28
README.md
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
This project implements the *Hello World* of API-driven apps: a simple TODO app, built with Vue 3.
|
This project implements the *Hello World* of API-driven apps: a simple TODO app, built with Vue 3.
|
||||||
|
|
||||||
The `bbconf` folder contains basebox config files, database schema, type maps etc. and scripts to run broker and dbproxy from within the `bbconf` directory.
|
The `bbconf` folder contains basebox config files, GraphQL schema, precompiled database schema, type maps etc. and scripts to run broker and dbproxy from within the `bbconf` directory.
|
||||||
|
|
||||||
These files assume that you extracted the [basebox distribution](https://basebox.io/download) next to this repository's root.
|
These files assume that you extracted the [basebox distribution](https://basebox.io/download) next to this repository's root.
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ Let's assume you create a `basebox` folder in your home directory, change into i
|
|||||||
cd ~
|
cd ~
|
||||||
mkdir basebox
|
mkdir basebox
|
||||||
cd basebox
|
cd basebox
|
||||||
tar xf basebox-version-arch.tgz # adopt this command to the basebox distribution archive you downloaded
|
tar xzf basebox-version-arch.tgz # adopt this command to the basebox distribution archive you downloaded
|
||||||
git clone --single-branch --depth 1 https://gitea.basebox.health/samples/vue-todo.git
|
git clone --single-branch --depth 1 https://gitea.basebox.health/samples/vue-todo.git
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -30,19 +30,13 @@ To install this app, you need
|
|||||||
|
|
||||||
### PostgreSQL Preparation
|
### PostgreSQL Preparation
|
||||||
|
|
||||||
> The following guide assumes you are installing under Debian or Ubuntu Linux; if you are on a Mac, please see our [PostgreSQL Primer](https://docs.basebox.io/getting-started/postgresql/) for some hints.
|
> You need a PostgreSQL database to run this app. You can read detailed instructions on how to
|
||||||
|
> install PostgreSQL and create a test database at our [PostgreSQL Primer](https://docs.basebox.io/getting-started/postgresql/) page.
|
||||||
|
|
||||||
You need to create a user and a database for the todo app.
|
The recommended way to run basebox is to have a dedicated Unix user for basebox that authenticates to PostgreSQL using Peer authentication. This way, no password for the DB user has to be stored anywhere.
|
||||||
|
However, to keep things simple for the test app, we create a local user that authenticates to the database server via password (md5).
|
||||||
|
|
||||||
> Please note:
|
Let's create a PostgreSQL user and database for the TODO app:
|
||||||
>
|
|
||||||
> The recommended way to run basebox is to have a dedicated Unix user for dbproxy that
|
|
||||||
> authenticates to PostgreSQL using Peer authentication. This way, no password for the
|
|
||||||
> DB user has to be stored anywhere. The Unix user's name must match the name of the
|
|
||||||
> PostgreSQL user. For more info, see the basebox installation instructions and
|
|
||||||
> [PostgreSQL documentation](https://www.postgresql.org/docs/current/auth-peer.html).
|
|
||||||
|
|
||||||
For simplicity's sake, we are using a normal PostgreSQL user that authenticates using md5 authentication, thus requires a password, which is set in the dbproxy configuration file.
|
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
# Under (Debian) Linux, switch to the postgres user first:
|
# Under (Debian) Linux, switch to the postgres user first:
|
||||||
@ -76,3 +70,11 @@ psql -U bb_todo bb_todo < bbconf/todo_datamodel.sql # Enter password when promp
|
|||||||
```
|
```
|
||||||
|
|
||||||
The database configuration and installation is now complete.
|
The database configuration and installation is now complete.
|
||||||
|
|
||||||
|
If you're curious, you can recompile the GraphQL schema like so:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
bin/bbconf --prefix=bb_todo -f todo_schema.graphql -o bbconf
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Run basebox broker from the samples/toodo/bbconf directory
|
# Run basebox broker from the samples/toodo/bbconf directory
|
||||||
PYO3_PYTHON=python3 cargo run --manifest-path ../../../broker/Cargo.toml -- -c broker-config.toml
|
../../bin/broker -c broker-config.toml
|
||||||
|
@ -2,4 +2,4 @@
|
|||||||
#
|
#
|
||||||
# Compile the todo schema.
|
# Compile the todo schema.
|
||||||
#
|
#
|
||||||
cargo run --manifest-path=../../../bbc/Cargo.toml -- --prefix=bb_todo -f todo_schema.graphql
|
../../bin/bbc --prefix=bb_todo -f todo_schema.graphql
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Run basebox dbproxy from the samples/toodo/bbconf directory
|
# Run basebox dbproxy from the samples/toodo/bbconf directory
|
||||||
cargo run --manifest-path ../../../dbproxy/Cargo.toml -- -c dbproxy-config.toml
|
../../bin/dbproxy -c dbproxy-config.toml
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
# Sample toml file; for testing only
|
|
||||||
|
|
||||||
[generic]
|
|
||||||
# the name of the project
|
|
||||||
project_name = "bb_todo"
|
|
||||||
# the folder where the generated files will be placed. If not specifed, the project name will be
|
|
||||||
# used to create a folder by that name in the current directory. Note that the folder must not exist
|
|
||||||
# yet in order to make ensure that an existing installation will not be overwritten by accident.
|
|
||||||
output = "output"
|
|
||||||
|
|
||||||
[log]
|
|
||||||
# log level; can be off, error, warn, info, debug, trace
|
|
||||||
log_level = "info"
|
|
||||||
|
|
||||||
[graphql]
|
|
||||||
schema = "todo_schema.graphql"
|
|
||||||
|
|
||||||
[database]
|
|
@ -39,7 +39,7 @@ type Query {
|
|||||||
getUser(
|
getUser(
|
||||||
username: String!
|
username: String!
|
||||||
): User @bb_resolver(_type: select, _object: User, _filter: { username: { _eq: "$username" } })
|
): User @bb_resolver(_type: select, _object: User, _filter: { username: { _eq: "$username" } })
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type Mutation {
|
type Mutation {
|
||||||
@ -64,8 +64,8 @@ type Mutation {
|
|||||||
createTask(
|
createTask(
|
||||||
title: String!,
|
title: String!,
|
||||||
description: String,
|
description: String,
|
||||||
completed: Boolean!, # default not implemented yet, this needs to be added as it's non-nullable
|
completed: Boolean!, # default not implemented yet, this needs to be added as it's non-nullable
|
||||||
list: List! # list needs to be specified as it's non-nullable
|
list: List! # list needs to be specified as it's non-nullable
|
||||||
user: User! # username needs to be specified as it's non-nullable
|
user: User! # username needs to be specified as it's non-nullable
|
||||||
): Task @bb_resolver(_type: insert, _object: Task, _fields: { title: "$title", description: "$description", completed: "$completed", list: "$list", user: "$user" })
|
): Task @bb_resolver(_type: insert, _object: Task, _fields: { title: "$title", description: "$description", completed: "$completed", list: "$list", user: "$user" })
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user