<aside>
đź’ˇ For questions or feedback, email us at support@dropbase.io
Github: https://github.com/DropbaseHQ/dropbase
</aside>
docker
and docker-compose
.dropbase
repoClone the Dropbase repository
git clone <https://github.com/DropbaseHQ/dropbase.git>
Start the server by running start.sh
NOTE: When starting the server for the first time, make start.sh
executable.
chmod +x start.sh
You can start the server by running
./start.sh
Go to the Dropbase App http://localhost:3030/apps
from your browser and click on the Create app
button to create your first Dropbase app.
Configuring the Server
Dropbase uses LLM (ChatGPT, Claude Sonnet) to provide AI Developer features. To enable it, add your OpenAI or Anthropic API key into server.toml
. Example:
[llm.openai]
api_key = "YOUR_API_KEY"
model = "gpt-4o"
<aside> đź’ˇ IMPORTANT: If you add additional environmental variables, make sure to add them before LLM configurations (at the top-level table), since LLM configurations are defined as table
</aside>
Configuring the Worker
worker.toml
contains environmental variables for the worker. This includes database sources, API keys, or access token to third party services.
<aside> đź’ˇ
If you're upgrading to dropbase-server >v0.6.0, please ensure that worker.toml
is in your workspace
directory.
</aside>
To include API keys or tokens, add a name for the token and enter your string token. Though not required, adding a descriptive name helps Dropbase AI infer the key to use.
stripe_key="rk_test_123"
mailgun_api_key="abc123"
To include database sources, use the following format: database
.database_type
.database_nickname
For example, if you want to add a postgres
database to a list of sources and use my_source
as its nickname, add the following:
[database.postgres.my_source]
host = "localhost"
database = "postgres"
username = "username"
password = "password"
port = 5432
NOTE: The built-in demo requires database.sqlite.demo
to be present in worker.toml
.
<aside> đź’ˇ
server.toml
and worker.toml
will be created for automatically when start.sh
first run
</aside>
In this demo, we show developers how to build a tool to lookup customers orders, and send order info via a email or a Slack channel
Orders Dashboard Integration.mp4
In this demo, we show developers how to build an app to edit Salesforce leads in a spreadsheet interface
Salesforce Leads Editor Build.mp4
In this demo, we show developers how to build an app to edit HubSpot contacts in a spreadsheet interface
HubSpot Contacts Editor Build.mp4
<aside> đź’ˇ
This video was recorded with an older UI. Prompting for charts works the same way.
</aside>
In this demo, we show developers how to add charts to apps and access chart state as input to API calls
When you first set up Dropbase, it comes with a local demo database, which you can directly prompt. The system already has context about it. This is a local sqlite database that contains 2 tables with the following schema:
table_name | column_name | data_type |
---|---|---|
users | user_id | INTEGER |
users | username | VARCHAR(255) |
users | VARCHAR(255) | |
users | status | VARCHAR(50) |
orders | order_id | INTEGER |
orders | user_id | INTEGER |
orders | product_name | VARCHAR(255) |
orders | quantity | INTEGER |
orders | total_price | DECIMAL(10, 2) |
orders | order_date | DATE |
Dropbase allows updating page UI and functionality via prompts. Currently, only OpenAI and Anthropic integrations are supported.
To enable this feature, obtain your OpenAI or Anthropic key and add it to server.toml
under llm environment variable.
# OpenAI example
[llm.openai]
api_key = "sk-XXX..."
model = "gpt-4o"
# Anthropic example
[llm.anthropic]
api_key = "sk-XXX..."
model = "claude-3-5-sonnet-20240620"
<aside>
đź’ˇ IMPORTANT:
If you add optional variables to server.toml
, make sure to add them before LLM configuration (at the top-level table), since LLM configuration is defined as table.
You can save multiple keys, but only one can be used at a time (the first one added).
</aside>
Next, navigate to a page and click on AI Dev
on the top right corner in the Studio or press Command
+ K
AI Dev Button
In the prompt modal you can update UI (main.py) and/or logic (functions.py) in a single prompt.
<aside> đź’ˇ
If you know exactly which file, function, or block to change, you can specify this in the prompt. For example: In functions.py, [do something]
</aside>
Write a prompt and click “Generate”. Dropbase will show you a side by side comparison of your current code and the newly generated code for each file. You can either: