Skip to main content

Quick start

This tutorial will show you how to get up and running in a few minutes. Check out the concepts page for a more in-depth introduction.

Install the CLI

Install the Codehooks command line interface (CLI), this lets you fully manage your projects from the command line.

npm install codehooks -g

You need Node.js to install the CLI.

Sign up and Log in

Next you need to sign up / log in to your account (it's totally free), in this example we use a Github account. Your browser will open and direct you a secure login page, and there you can return to the CLI - logged in.

coho login

Then choose login method, e.g. Github.

Select option below

❯ Use Github
Use Google
Exit

Create project

Lets go forward and create a new project on your account. A project contains the source code for your serverless functions.

coho create myproject

Follow the guide to create a personal or team project type.

Finally change directory to the new project and install the Codehooks standard library.

cd myproject

The coho create command has now created a new project space and generated a unique name for the API, in this example it's named myproject-2b39 and dev. Your account will be the owner of the project. This can be changed later.

Create a serverless JavaScript Codehook

First, in the project directory, install the Codehooks standard open source libraries codehooks-js and codehooks-crudlify.

npm install codehooks-js codehooks-crudlify --save

Next, start your favorite code editor and open the auto generated index.js in your project directory.

index.js
/*
* Auto generated Codehooks (c) example
*/
import {app} from 'codehooks-js'
import {crudlify} from 'codehooks-crudlify'

// Use Crudlify to create a REST API for any collection
crudlify(app)

// bind to serverless runtime
export default app.init();

Save the JavaScript file.

You are now ready to deploy your project.

Deploy the code to the serverless cloud

coho deploy

Example output from the deploy command.

Deploying to Project: myproject-2b39 Space: dev
Deployed Codehook successfully! 🙌

You can now test the automatic REST API with a sample collection, for example users.

tip

Use the coho info --examples command to find your project name, API tokens and working curl examples.

curl shell command - POST a new user
curl --location 'https://<YOUR-PROJECT-NAME>.api.codehooks.io/dev/users' \
--header 'x-apikey: <YOUR-API-TOKEN-HERE>' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Bill",
"email": "[email protected]",
"active": true
}'

Example output from the curl test.

{
"name": "Bill",
"email": "[email protected]",
"active": true,
"_id": "6421b3e6a3c762051688edf7"
}

Lets also test a query for the same data we've added.

curl shell command - query users
curl --location 'https://<YOUR-PROJECT-NAME>.api.codehooks.io/dev/users?name=Bill' \
--header 'x-apikey: <YOUR-API-TOKEN-HERE>' \
--header 'Content-Type: application/json' \

Which returns an array of 1 object from the database.

[
{
"name": "Bill",
"email": "[email protected]",
"active": true,
"_id": "6421b3e6a3c762051688edf7"
}
]

Our test shows that the automatic REST API is accessible on the /dev/users route, and we can successfully add and retrieve data from the database to the client.

👏👏

Localserver

If you want to test out codehooks.io without signing up, you can use the localserver approach.

Self-host with Open source and MongoDB package

You can "eject" a complete codehooks.io backend and self-host it using the codehooks-mongodb NPM package.