config/environments | ||
docker/scripts | ||
docs | ||
lib | ||
test | ||
.eslintrc.js | ||
.gitignore | ||
.travis.yml | ||
app.js | ||
carto-package.json | ||
HOWTO_RELEASE.md | ||
LICENSE | ||
NEWS.md | ||
package-lock.json | ||
package.json | ||
README.md |
CartoDB-SQL-API
The CARTO SQL API
. Provides a web service for running SQL queries and jobs against your account in CARTO:
- Run queries with fine-grained permissions through
Auth API
. - Schedule jobs using
Batch Queries
.
Build
Requirements:
Node 10.x (npm 6.x)
PostgreSQL >= 10.0
PostGIS >= 2.4
CARTO Postgres Extension >= 0.24.1
Redis >= 4
- GDAL
1.11.0
(bin utils). See installing GDAL - zip commandline tool.
C++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 install
Run
Create the ./config/environments/<env>.js
file (there are .example
files to start from). Look at ./lib/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
.
Docker support
We provide docker images just for testing and continuous integration purposes:
You can find instructions to install Docker, download, and update images here.
Useful npm
scripts
Run test in a docker image with a specific Node.js version:
$ DOCKER_IMAGE=<docker-image-tag> NODE_VERSION=<nodejs-version> npm run test:docker
Where:
<docker-image-tag>
: the tag of required docker image, e.g.carto/nodejs-xenial-pg1121:latest
<nodejs-version>
: the Node.js version, e.g.10.15.1
In case you need to debug:
$ DOCKER_IMAGE=<docker-image-tag> npm run docker:bash
Documentation
You can find an overview, guides, full reference, and support in CARTO's developer center
. The docs directory contains different documentation resources, from a 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 submitting a Pull Request. Learn more here.
Versioning
We follow SemVer
for versioning. For available versions, 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.