Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create beautiful charts. It features a chart builder, editable dashboards, embedable charts, query & requests editor, and team capabilities.
Data sources
Currently, ChartBrew supports connections to these data sources.
- MySQL
- PostgreSQL
- MongoDB
- APIs that support JSON data
Prerequisites
- NodeJS v12 (should also work with v10)
- NPM
- MySQL v5+ Server running and an empty database to use for Chartbrew
Start
It is recommended you head over to the more detailed documentation to find out how to set up Chartbrew
Quickstart
If you already have a MySQL server running, create a database called chartbrew
and adjust the parameters below with your connection settings. The command will then setup everything for you.
Important Windows command line is not supported at the moment. Use something like Cygwin on Windows.
npx create-chartbrew-app chartbrew
The CLI tool creates a chartbrew/.env
file which you can configure at any time if you want to change the database, API & client host, etc. The file contains comments explaining what each environmental variable is for. Check out which need to be set here.
Run the database migrations
If the database parameters are correct, the migrations should run automatically. If the new database wasn't populated with tables, ensure all the environmental variables are set, then run the following command in the server
folder:
cd server
npm run db:migrate
Run the project in Development
Open two terminals, one for front-end and the other for back-end.
# frontend
cd client/
npm run start
# backend
cd server/
npm run start-dev
Run with Docker
Check the full guide in the docs.
Quickstart
Run the following commands and configure the variables:
docker pull razvanilin/chartbrew
docker run -p 3210:3210 -p 3000:3000 \
-e CB_SECRET=<enter_a_secure_string> \
-e CB_API_HOST=0.0.0.0 \
-e CB_DB_HOST=host.docker.internal \
-e CB_DB_NAME=chartbrew \
-e CB_DB_USERNAME=root \
-e CB_DB_PASSWORD=password \
-e REACT_APP_CLIENT_HOST=http://localhost:3000 \
-e REACT_APP_API_HOST=http://localhost:3210 \
razvanilin/chartbrew
Acknowledgements
Many thanks to everybody that contributed to this open-source project