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.
🔧 Development roadmap - start here if you want to contribute
🚙 Public feature roadmap over here
Currently, ChartBrew supports connections to these data sources.
- MySQL
- PostgreSQL
- MongoDB
- APIs that support JSON data
- NodeJS v10.16.0+
- NPM
- MySQL v5+ Server running
It is recommended you head over to the more detailed documentation to find out how to set up Chartbrew
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
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
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
Many thanks to everybody that contributed to this open-source project 🙏