Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DropbaseHQ/dropbase
Dropbase helps you build internal web apps with Python. The Dropbase self-hosted Worker securely interacts with your data within your own infra.
https://github.com/DropbaseHQ/dropbase
Last synced: about 1 month ago
JSON representation
Dropbase helps you build internal web apps with Python. The Dropbase self-hosted Worker securely interacts with your data within your own infra.
- Host: GitHub
- URL: https://github.com/DropbaseHQ/dropbase
- Owner: DropbaseHQ
- License: other
- Created: 2023-11-22T22:12:26.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-11T19:52:41.000Z (8 months ago)
- Last Synced: 2024-04-12T00:26:33.465Z (8 months ago)
- Language: Python
- Homepage: https://www.dropbase.io/
- Size: 38.1 KB
- Stars: 560
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- jimsghstars - DropbaseHQ/dropbase - Dropbase helps developers build and prototype web apps faster with AI. Dropbase is local-first and self hosted. (Python)
README
AI-Based Python Web App Builder
# Overview
Dropbase helps you build and prototype web apps faster with AI. Developers can quickly build anything from admin panels, back-office tools, billing dashboards, and internal engineering tools that can fetch data from data sources and trigger action across any internal or external service.
Existing low-code/no code tools lack flexibility, confine devs to building app logic by filling up UI forms, and have big learning curves. Dropbase uses AI to generate app code that you can verify and/or edit. We combine the convenience of a drag-and-drop app builder with the flexibility of code, making it easy to build and customize, while learning to use the product as you see how the AI generates code using the Dropbase web framework.
## Why Dropbase?
1. Write (or generate) any custom business logic with code.
2. Built-in web framework with pre-built UI components - no need to hassle with frontend libraries/code.
3. Local-first, self-hosted. No creds are shared with us.
4. Dropbase lives in your codebase, making it easy to import or resuse custom scripts/libraries.
5. Apps are portable: app folders can be zipped and shared to other Dropbase users
6. It's built on Python and you can import any PyPI package.## Demo
### Order Dashboard with Integrations to Mailgun and Slack
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
### Salesforce Leads Editor
In this demo, we show developers how to build an app to edit Salesforce leads in a spreadsheet interface
### HubSpot Contacts Editor
In this demo, we show developers how to build an app to edit HubSpot contacts in a spreadsheet interface
### Build an orders app that uses charts
## Get Started
### 0. Pre-requisites
- Install Docker. We strongly recommend using [Docker Desktop](https://www.docker.com/products/docker-desktop/), especially if you're on Apple M chips. Alternatively, you can install `docker` and `docker-compose`.
### 1. Clone the `dropbase` repo
Clone the Dropbase repository
```python
git clone https://github.com/DropbaseHQ/dropbase.git
```### 2. Start the server
Start the server by running start.sh
**NOTE:** When starting the server for the first time, make `start.sh` executable.
```bash
chmod +x start.sh
```You can start the server by running
```bash
./start.sh
```### 3. Create your first Dropbase app
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.
## Enabling AI features
Dropbase uses LLM (gpt, sonnet) to provide AI Developer feature. To enable it, add your OpenAI or Anthropic api key into `server.toml`. Example:
```bash
[llm.openai]
api_key = "YOUR_API_KEY"
model = "gpt-4o"
```**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](https://toml.io/en/v1.0.0#table)
## Configuring Worker
`worker.toml` contains environmental variables for the worker. This includes database sources, API keys, or access token to third party services.
> [!IMPORTANT]
> If you're upgrading to dropbase-server >v0.6.0, please ensure that `worker.toml` is in your `workspace` directory.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.
```bash
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:
```bash
[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`.