Chartbrew
Open-source web platform used to create live reporting dashboards from APIs...
README
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
- ```sh
- git clone https://github.com/chartbrew/chartbrew.git
- cd chartbrew && npm run setup
- ```
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.
- ```sh
- # frontend
- cd client/
- npm run start
- # backend
- cd server/
- npm run start-dev
- ```
Head over to http://localhost:4018 to see the app running and create your first user account.
Deploy Chartbrew on 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.
- ```sh
- docker pull razvanilin/chartbrew
- docker run -p 4019:4019 -p 4018:4018 \
- -e CB_SECRET=enter_a_secure_string \
- -e CB_API_HOST=0.0.0.0 \
- -e CB_API_PORT=4019 \
- -e CB_DB_HOST=host.docker.internal \
- -e CB_DB_PORT=3306 \
- -e CB_DB_NAME=chartbrew \
- -e CB_DB_USERNAME=root \
- -e CB_DB_PASSWORD=password \
- -e REACT_APP_CLIENT_HOST=http://localhost:4018 \
- -e REACT_APP_API_HOST=http://localhost:4019 \
- razvanilin/chartbrew
- ```
Acknowledgements
Many thanks to everybody that contributed to this open-source project 🙏