JavaScript CSS HTML

A registry for dats.

Build Status


GET /api/v1/:model

Can pass query parameters like ?username='martha' to filter results.

Additional options:

  • limit: 100 (default)
  • offset: 0 (default)
POST /api/v1/:model

Success returns model with id field added.

PUT /api/v1/:model?id=

id required

Success returns number of rows modified.

{updated: 1}
DELETE /api/v1/:model?id=

id required

Success returns number of rows deleted.

{deleted: 1}
users model: /api/v1/users
  • id (required)
  • email (required)
  • username
  • description
  • created_at
  • updated_at
dats model: /api/v1/dats
  • id
  • user_id
  • name
  • title
  • hash
  • description
  • created_at
  • updated_at


Install dependencies.

npm install

Create config file.

You can use defaults by copying the example config to config.js. If you want to some other database, you can change these defaults in config.js.

cp example.config.js config.js

Initialize the database. You only have to do this once:

node server/database/init.js

Watch assets and start server in one command:

npm start

Getting test user and dat

Run the following command to create a user with the given email address. The user will have the password dogsandcats.

node server/database/populate.js <email-address>

Build for production

npm run build
npm run minify
npm run version

Getting invited-users list

git clone

Running end-to-end tests

Docker and docker-compose are required.

docker-compose build
cp example.config.js config.js
docker-compose up -d newdat && sleep 10
docker-compose run --rm nightwatch

You may also see the test browser in action with VNC.