{"id":20047816,"url":"https://github.com/interactivethings/chart-server","last_synced_at":"2025-06-21T09:35:58.176Z","repository":{"id":141631394,"uuid":"73517825","full_name":"interactivethings/chart-server","owner":"interactivethings","description":"A server for a light-weight charting system.","archived":false,"fork":false,"pushed_at":"2016-11-16T10:16:29.000Z","size":1769,"stargazers_count":17,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-05T10:40:38.832Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interactivethings.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-11T22:58:43.000Z","updated_at":"2022-07-05T09:22:28.000Z","dependencies_parsed_at":"2023-03-13T10:30:53.106Z","dependency_job_id":null,"html_url":"https://github.com/interactivethings/chart-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/interactivethings/chart-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactivethings%2Fchart-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactivethings%2Fchart-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactivethings%2Fchart-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactivethings%2Fchart-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interactivethings","download_url":"https://codeload.github.com/interactivethings/chart-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactivethings%2Fchart-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261100941,"owners_count":23109835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T11:38:36.343Z","updated_at":"2025-06-21T09:35:53.146Z","avatar_url":"https://github.com/interactivethings.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chart Server\n\nA server for a light-weight charting system.\n\n[![Demo of how charts are rendered in a Google Spreadsheet](docs/playground.gif)](https://docs.google.com/spreadsheets/d/18ByaFrHDh7y0_nY-mFrk05Nx21e0UBAWe-qKfd2tAL8/edit#gid=0)\n\nRead «[Roll your own charting system](https://blog.interactivethings.com/69f5753efc1c)» on the Interactive Things blog to learn more.\n\n## Chart Types\n\nYou can render any Vega-Lite specification to SVG by sending it to `/VegaLite` with the `spec` query paramter.\n\nExample:\n```json\n{\n  \"description\": \"A simple bar chart with embedded data.\",\n  \"data\": {\n    \"values\": [\n      {\"a\": \"A\",\"b\": 28}, {\"a\": \"B\",\"b\": 55}, {\"a\": \"C\",\"b\": 43},\n      {\"a\": \"D\",\"b\": 91}, {\"a\": \"E\",\"b\": 81}, {\"a\": \"F\",\"b\": 53},\n      {\"a\": \"G\",\"b\": 19}, {\"a\": \"H\",\"b\": 87}, {\"a\": \"I\",\"b\": 52}\n    ]\n  },\n  \"mark\": \"bar\",\n  \"encoding\": {\n    \"x\": {\"field\": \"a\", \"type\": \"ordinal\"},\n    \"y\": {\"field\": \"b\", \"type\": \"quantitative\"}\n  }\n}\n```\n\n![A simple bar chart with embedded data.](https://chart-server.now.sh/VegaLite?spec=%7B%0A%20%20%22description%22%3A%20%22A%20simple%20bar%20chart%20with%20embedded%20data.%22%2C%0A%20%20%22data%22%3A%20%7B%0A%20%20%20%20%22values%22%3A%20%5B%0A%20%20%20%20%20%20%7B%22a%22%3A%20%22A%22%2C%22b%22%3A%2028%7D%2C%20%7B%22a%22%3A%20%22B%22%2C%22b%22%3A%2055%7D%2C%20%7B%22a%22%3A%20%22C%22%2C%22b%22%3A%2043%7D%2C%0A%20%20%20%20%20%20%7B%22a%22%3A%20%22D%22%2C%22b%22%3A%2091%7D%2C%20%7B%22a%22%3A%20%22E%22%2C%22b%22%3A%2081%7D%2C%20%7B%22a%22%3A%20%22F%22%2C%22b%22%3A%2053%7D%2C%0A%20%20%20%20%20%20%7B%22a%22%3A%20%22G%22%2C%22b%22%3A%2019%7D%2C%20%7B%22a%22%3A%20%22H%22%2C%22b%22%3A%2087%7D%2C%20%7B%22a%22%3A%20%22I%22%2C%22b%22%3A%2052%7D%0A%20%20%20%20%5D%0A%20%20%7D%2C%0A%20%20%22mark%22%3A%20%22bar%22%2C%0A%20%20%22encoding%22%3A%20%7B%0A%20%20%20%20%22x%22%3A%20%7B%22field%22%3A%20%22a%22%2C%20%22type%22%3A%20%22ordinal%22%7D%2C%0A%20%20%20%20%22y%22%3A%20%7B%22field%22%3A%20%22b%22%2C%20%22type%22%3A%20%22quantitative%22%7D%0A%20%20%7D%0A%7D)\n\nAdditionally three example chart types, `Bar`, `DemographicBar` and `DistrictBar`, built on top of Vega-Lite and one, `ZurichMap`, build on top of Vega are provided in the [`charts` folder](https://github.com/interactivethings/chart-server/tree/master/charts). There is also a example [essay](https://interactivethings.github.io/chart-server/example.html) and [spreadsheet](https://docs.google.com/spreadsheets/d/1Mt6xzEGcuO9cusTUB3q3JwhNOZbhwHK71TfpOaUWS9c/edit?usp=sharing) available utilizing those types.\n\n## Prerequisites\n\n- make\n- [Node.js](https://nodejs.org/) (v6)\n- [Cairo](https://github.com/Automattic/node-canvas#installation)\n\n## Develop\n\nInstall dependencies and start the development server\n\n```\nmake\n```\n\n## Deploy\n\nThe repository contains a `Dockerfile` and `app.json` manifesto and can easily be deployed.\n\n- [▲ ZEIT `now --docker`](https://zeit.co/now)\n- [Deploy to Heroku](https://heroku.com/deploy)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finteractivethings%2Fchart-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finteractivethings%2Fchart-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finteractivethings%2Fchart-server/lists"}