Chartbrew

Open-source web platform used to create live reporting dashboards from APIs...

README

ChartBrew logo

Chartbrew


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.

Prerequisites


NodeJS v14, v16, v18
MySQL (5+) or PostgreSQL (12.5+)

Start


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


Set up Chartbrew locally


Create a new database


Chartbrew can run on MySQL or PostgreSQL. Create an empty database that Chartbrew can use.

Clone and setup


  1. ```sh
  2. git clone https://github.com/chartbrew/chartbrew.git
  3. cd chartbrew && npm run setup
  4. ```

Complete the required environmental variables in chartbrew/.env. 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.

  1. ```sh
  2. # frontend
  3. cd client/
  4. npm run start

  5. # backend
  6. cd server/
  7. npm run start-dev
  8. ```

Head over to http://localhost:4018 to see the app running and create your first user account.

Deploy Chartbrew on Render


Deploy to Render

Deploy Chartbrew on Heroku and Vercel



Run with Docker



Quickstart


A Chartbrew docker image is built whenever a new version is released.

Before running the commands below, make sure you have a MySQL server already running and an empty database that Chartbrew can use. The database name should match the value of the CB_DB_NAME variable.

  1. ```sh
  2. docker pull razvanilin/chartbrew

  3. docker run -p 4019:4019 -p 4018:4018 \
  4.   -e CB_SECRET=enter_a_secure_string \
  5.   -e CB_API_HOST=0.0.0.0 \
  6.   -e CB_API_PORT=4019 \
  7.   -e CB_DB_HOST=host.docker.internal \
  8.   -e CB_DB_PORT=3306 \
  9.   -e CB_DB_NAME=chartbrew \
  10.   -e CB_DB_USERNAME=root \
  11.   -e CB_DB_PASSWORD=password \
  12.   -e REACT_APP_CLIENT_HOST=http://localhost:4018 \
  13.   -e REACT_APP_API_HOST=http://localhost:4019 \
  14.   razvanilin/chartbrew
  15. ```

Acknowledgements


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