Awesome Open Source
Awesome Open Source

ChartBrew logo

ChartBrew build

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.

ChartBrew dashboard

📚 Read the full docs here

🔧 Issues ready to be tackled

🚙 Public roadmap over here

💡 Have any ideas or discussion topics?

💬 Join our Discord

Data sources

Currently, Chartbrew supports connections to these data sources.

  • MySQL
  • PostgreSQL
  • MongoDB
  • Firestore
  • Google Analytics

Chartbrew also features dashboard templates with charts already prepared:

  • Simple Analytics
  • ChartMogul
  • Mailgun
  • Google Analytics


  • NodeJS v12 (should also work with v10)
    • For M1 Macs you might need the latest v14 or v15
  • NPM
  • MySQL (5+) or PostgreSQL (12.5+)


It is recommended you head over to the more detailed documentation to find out how to set up Chartbrew

📚 You can find it here


If you already have a MySQL or PostgreSQL server running, create a database called chartbrew and follow the prompts of the create-chartbrew-app command below.

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 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.


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= \
  -e CB_API_PORT=3210 \
  -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 \


Many thanks to everybody that contributed to this open-source project 🙏

Start here if you want to become a contributor

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (70,969) 
react (5,572) 
hacktoberfest (4,276) 
nodejs (3,873) 
api (1,760) 
redux (1,183) 
reactjs (1,134) 
mysql (1,076) 
mongodb (831) 
postgresql (762) 
firebase (501) 
dashboard (485) 
data-visualization (439) 
analytics (331) 
charts (217) 
firestore (100) 
mongo (62) 
chartjs (47) 
firebase-firestore (32)