Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chartbrew/chartbrew
Open-source web platform used to create live reporting dashboards from APIs, MongoDB, Firestore, MySQL, PostgreSQL, and more 📈📊
https://github.com/chartbrew/chartbrew
analytics api chartjs charts dashboard data-visualization firebase firebase-firestore firestore mongo mongodb mysql nodejs postgresql react reactjs realtime-database redux
Last synced: 4 days ago
JSON representation
Open-source web platform used to create live reporting dashboards from APIs, MongoDB, Firestore, MySQL, PostgreSQL, and more 📈📊
- Host: GitHub
- URL: https://github.com/chartbrew/chartbrew
- Owner: chartbrew
- License: mit
- Created: 2019-08-29T13:14:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T07:47:49.000Z (3 months ago)
- Last Synced: 2024-10-29T10:12:52.761Z (3 months ago)
- Topics: analytics, api, chartjs, charts, dashboard, data-visualization, firebase, firebase-firestore, firestore, mongo, mongodb, mysql, nodejs, postgresql, react, reactjs, realtime-database, redux
- Language: JavaScript
- Homepage: https://chartbrew.com
- Size: 53 MB
- Stars: 2,640
- Watchers: 27
- Forks: 324
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
- open-production-web-projects - Chartbrew - Open-source web platform for creating charts out of different data sources (databases and APIs (Javascript / Express)
- my-awesome-list - chartbrew - source web platform used to create live reporting dashboards from APIs, MongoDB, Firestore, MySQL, PostgreSQL, and more 📈📊 | chartbrew | 2711 | (JavaScript)
- awesome-homelab - Chartbrew - source web platform used to create live reporting dashboards from APIs, MongoDB, Firestore, MySQL, PostgreSQL, and more 📈📊 | (Apps / X)
README
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 as a service is available here
📚 [**Read the full docs here**](https://docs.chartbrew.com)
💡 [**Have any ideas or discussion topics?**](https://github.com/chartbrew/chartbrew/discussions)
💬 [**Join our Discord**](https://discord.gg/KwGEbFk)
## Data sources
[Check Chartbrew's website for the latest list of supported data sources](https://chartbrew.com)
## Prerequisites
* NodeJS v20
* MySQL (5+) or PostgreSQL (12.5+)
* Redis (v6+)## 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](https://docs.chartbrew.com/quickstart)
## 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.](https://docs.chartbrew.com/quickstart#environmental-variables)
### 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 to Render](https://render.com/images/deploy-to-render-button.svg)](https://chartbrew.com/blog/how-to-deploy-chartbrew-on-render/)
## Deploy Chartbrew on Heroku and Vercel
[Read more on how to do this here](https://chartbrew.com/blog/how-to-deploy-chartbrew-on-heroku-and-vercel/)
## Run with Docker
[Check the full guide in the docs.](https://docs.chartbrew.com/deployment/run-on-docker)
### Quickstart
A [Chartbrew docker image](https://hub.docker.com/r/razvanilin/chartbrew) 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.
You will need a 32 bytes AES encryption key for the `CB_ENCRYPTION_KEY` variable. Run the following command to generate one:
```sh
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
``````sh
docker pull razvanilin/chartbrewdocker run -p 4019:4019 -p 4018:4018 \
-e CB_ENCRYPTION_KEY=your_32_bytes_key \
-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 CB_REDIS_HOST=host.docker.internal \
-e CB_REDIS_PORT=6379 \
-e CB_REDIS_PASSWORD=password \
-e VITE_APP_CLIENT_HOST=http://localhost:4018 \
-e VITE_APP_CLIENT_PORT=4018 \
-e VITE_APP_API_HOST=http://localhost:4019 \
razvanilin/chartbrew
```## Acknowledgements
Many thanks to [everybody that contributed](https://github.com/chartbrew/chartbrew/graphs/contributors) to this open-source project 🙏
[Start here if you want to become a contributor](https://github.com/chartbrew/chartbrew/blob/master/CONTRIBUTING.md)