This commit is contained in:
Martin McKeaveney 2020-05-13 15:38:51 +01:00
parent 6c7e01c4f0
commit 2cab60419b
1 changed files with 9 additions and 70 deletions

View File

@ -16,7 +16,6 @@ Budibase is a monorepo managed by [lerna](https://github.com/lerna/lerna). Lerna
- **packages/server** - The budibase server. This [Koa](https://koajs.com/) app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system. - **packages/server** - The budibase server. This [Koa](https://koajs.com/) app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system.
## Glossary of Terms ## Glossary of Terms
@ -96,7 +95,7 @@ then `cd ` into your local copy.
### 4. Initialising Budibase and Creating a Budibase App ### 4. Initialising Budibase and Creating a Budibase App
`yarn initialise` will initialise your budibase installation. A Budibase apps folder will have been created in `~/.budibase`. This also creates `yarn initialise` will initialise your budibase installation. A Budibase apps folder will have been created in `~/.budibase`.
This is a blank apps folder, so you will need to create yourself an app. This is a blank apps folder, so you will need to create yourself an app.
@ -137,12 +136,12 @@ A client can have one or more budibase applications. Budibase applications are s
To see the current individual JSON definitions for your pages and screens used by the builder, have a look at `~/.budibase/<app-uuid>/pages`. To see the current individual JSON definitions for your pages and screens used by the builder, have a look at `~/.budibase/<app-uuid>/pages`.
For your actual running application (not in dev), the frontend tree structure of the application (known as `clientFrontendDefinition`) is stored as JSON on disk. This is what the budibase client library reads to create your app at runtime. This can be found at `~/.budibase/<your-app-id>/public/clientFrontendDefinition.js` For your actual running application (not in dev), the frontend tree structure of the application (known as `clientFrontendDefinition`) is stored as JSON on disk. This is what the budibase client library reads to create your app at runtime. This can be found at `~/.budibase/<app-uuid>/public/clientFrontendDefinition.js`
The HTML and CSS for your apps runtime pages, as well as the budibase client library JS is stored at: The HTML and CSS for your apps runtime pages, as well as the budibase client library JS is stored at:
- `~/.budibase/<your-app-id>/public/main` - `~/.budibase/<app-uuid>/public/main`
- `~/.budibase/<your-app-id>/public/unauthenticated` - `~/.budibase/<app-uuid>/public/unauthenticated`
#### Backend #### Backend
@ -158,74 +157,14 @@ yarn publishnpm
from your root directory. from your root directory.
### Troubleshooting
### Other Useful Information Sometimes, things go wrong. This can be due to incompatible updates on the budibase platform. To clear down your development environment and start again:
* The contributors are listed in [AUTHORS.md](https://github.com/budibase/server/blob/master/AUTHORS.md) (add yourself).
* This project uses a modified version of the MPLv2 license, see [LICENSE](https://github.com/budibase/server/blob/master/LICENSE).
* We use the [C4 (Collective Code Construction Contract)](https://rfc.zeromq.org/spec:42/C4/) process for contributions.
Please read this if you are unfamiliar with it.
* If the project diverges from your branch, please rebase instead of merging. This makes the commit graph easier to read.
* Once your work is completed, please raise a PR against the main branch with some information about what has changed and why.
### Getting Started For Contributors
### 1. Prerequisites
*yarn -* `npm install -g yarn`
*jest* - `npm install -g jest`
### 2. Clone this repository
`git clone https://github.com/Budibase/budibase.git`
then `cd ` into your local copy.
### 3. Install and Build
`yarn` to install project dependencies
`yarn bootstrap` will install all budibase modules and symlink them together using lerna.
`yarn build` will build all budibase packages.
### 4. Initialising Budibase and Creating a Budibase App
`yarn initialise` will initialise your budibase installation. A Budibase apps folder will have been created in `~/.budibase`. This also creates
This is a blank apps folder, so you will need to create yourself an app.
``` ```
cd packages/server rm -rf ~/.budibase
yarn run budi new your-app-name
``` ```
Follow from **Step 3. Install and Build** in the setup guide above. You should have a fresh Budibase installation.
This will create a new budibase application in the `~/.budibase/<your-app-uuid>` directory, and NPM install the component libraries for that application. Let's start building your app with the budibase builder!
### 4. Running
To run the budibase server and builder in dev mode (i.e. with live reloading):
1. Open a new console
2. `yarn dev` (from root)
3. Access the builder on http://localhost:4001/_builder/
This will enable watch mode for both the builder app, server, client library and any component libraries.
### Running Commands from /server Directory
Notice that when inside `packages/server`, you can use any Budibase CLI command via yarn:
e.g. `yarn budi new mikes_app` == `budi new mikes_app`
This will use the CLI directly from `packages/cli`, rather than your globally installed `budi`
### Publishing Budibase to NPM
### Other Useful Information ### Other Useful Information
@ -235,4 +174,4 @@ This will use the CLI directly from `packages/cli`, rather than your globally in
* This project uses a modified version of the MPLv2 license, see [LICENSE](https://github.com/budibase/server/blob/master/LICENSE). * This project uses a modified version of the MPLv2 license, see [LICENSE](https://github.com/budibase/server/blob/master/LICENSE).
* We use the [C4 (Collective Code Construction Contract)](https://rfc.zeromq.org/spec:42/C4/) process for contributions. * We use the [C4 (Collective Code Construction Contract)](https://rfc.zeromq.org/spec:42/C4/) process for contributions.
Please read this if you are unfamiliar with it. Please read this if you are unfamiliar with it.