4.2 KiB
Windshaft-CartoDB
This is the CARTO Maps API
tiler. It extends Windshaft
and exposes a complete web service with extra functionality:
- Instantiate
Anonymous Maps
through CARTO's map configuration (MapConfig
). - Create
Named Maps
based on customizables templates. - Get map previews through
Static Maps
API. - 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.0
PostGIS >= 2.4
CARTO Postgres Extension >= 0.24.1
Redis >= 4
libcairo2-dev
,libpango1.0-dev
,libjpeg8-dev
andlibgif-dev
for server side canvas supportC++11
to 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
Open ./coverage/lcov-report/index.html
.
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.