/chartbrew

Open-source web platform for creating charts out of different data sources (databases and APIs)

Primary LanguageJavaScriptMIT LicenseMIT

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 logo


📚 Read the full docs here

🔧 Development roadmap - start here if you want to contribute

🚙 Public feature roadmap over here

💬 Join our Slack workspace

🤟 Join our Discord

Data sources

Currently, ChartBrew supports connections to these data sources.

  • MySQL
  • PostgreSQL
  • MongoDB
  • APIs that support JSON data

Prerequisites

  • NodeJS v10.16.0+
  • NPM
  • MySQL v5+ Server running

Start

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

📚 You can find it here

Quickstart

If you already have a MySQL server running, create a database called charbrew 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 myApp --dbname="chartbrew" --dbusername="root" --dbpassword="" --dbhost="localhost"

The arguments are optional, but they set the environmental variables needed for the project to run. 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

Docker container

Open up .env-template in the root folder of the project and make sure that the database host var is set to db like so:

CB_DB_HOST_DEV=localhost -> CB_DB_HOST_DEV=db

CB_DB_HOST=localhost -> CB_DB_HOST=db

Then run the following commands:

npm run prepareSettings
docker-compose up

For more information on how to configure, modify and deploy ChartBrew, read the full docs here

Acknowledgements

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

Start here if you want to become a contributor