Windshaft-CartoDB 
This is the CARTO Maps API tiler. It extends Windshaft and exposes a complete web service with extra functionality:
- Instantiate
Anonymous Mapsthrough CARTO's map configuration (MapConfig). - Create
Named Mapsbased on customizables templates. - Get map previews through
Static MapsAPI. - Render maps with large amount of data faster using
Tile Aggregation. - Build advanced maps with enriched data through
Analyses Extension. - Fetch tabular data from analysis nodes with
Dataviews
Build
Requirements:
Node 10.x (npm 6.x)PostgreSQL >= 10.0PostGIS >= 2.4CARTO Postgres Extension >= 0.24.1Redis >= 4libcairo2-dev,libpango1.0-dev,libjpeg8-devandlibgif-devfor server side canvas supportC++11to build internal dependencies. When there's no pre-built binaries for your OS/architecture distribution.
Optional:
PostGIS setup
A template_postgis database is expected. One can be set up with
$ createdb --owner postgres --template template0 template_postgis
$ psql -d template_postgis -c 'CREATE EXTENSION postgis;'
Install
To fetch and build all node-based dependencies, run:
$ npm ci
Run
Create the ./config/environments/<env>.js file (there are .example files to start from). Look at ./lib/cartodb/server-options.js for more on config.
$ node app.js <env>
Where <env> is the name of a configuration file under ./config/environments/.
Test
$ npm test
Coverage
$ npm run cover
Documentation
You can find an overview, guides, full reference, and support in CARTO's developer center. The docs directory contains different documentation resources, from higher level to more detailed ones.
Contributing
- The issue tracker:
Github. - We love pull requests from everyone, see contributing to Open Source on GitHub.
- You'll need to sign a Contributor License Agreement (CLA) before making a submission. Learn more here.
Developing with a custom windshaft version
If you plan or want to use a custom / not released yet version of windshaft (or any other dependency) the best option is to use npm link. You can read more about it at npm-link: symlink a package folder.
$ cd /path/to/Windshaft
$ npm install
$ npm link
$ cd /path/to/Windshaft-cartodb
$ npm link windshaft
Versioning
We follow SemVer for versioning. For the versions available, see the tags on this repository.
License
This project is licensed under the BSD 3-clause "New" or "Revised" License - see the LICENSE file for details.