Agata Andrzejewska 70d2cc7b92
create GET /ideas?filter[title][like] (#62)
2 years ago
bin change filenames to not use uppercase in files naming 2 years ago
config production config 2 years ago
controllers create GET /ideas?filter[title][like] (#62) 2 years ago
jobs fix bug: when sending message notifications, all unnotified were updated to notified, not only those which were really notified 2 years ago
models create GET /ideas?filter[title][like] (#62) 2 years ago
routes create GET /ideas?filter[title][like] (#62) 2 years ago
serializers GET /ideas?filter[highlyRated]=bottomRateLimit 2 years ago
services fix link in contact request notification 2 years ago
test create GET /ideas?filter[title][like] (#62) 2 years ago
.eslintignore eslint: var => let => const 3 years ago
.eslintrc.yaml add safe-regex check to eslint (ReDoS) 2 years ago
.gitignore Merge branch 'dependencies' 2 years ago
.npmrc update dependencies and refactor 2 years ago
.travis.yml Merge pull request #30 from ditup/jwt-token 2 years ago
LICENSE Initial commit 3 years ago
README.md add safe-regex check to eslint (ReDoS) 2 years ago
apidoc.raml create GET /ideas?filter[trending] (#58) 2 years ago
app.js Vote for ideas (#51) 2 years ago
collections.js Vote for ideas (#51) 2 years ago
init-database.js create a new idea: POST /ideas 2 years ago
package.json GET /ideas?filter[creators]='username0,username1,username2' (#54) 2 years ago
swagger.yaml added swagger.yaml for documenting the api 3 years ago

README.md

ditapi

Build Status

REST API for ditup. The web app for the API is based here.

Follows JSON API specification.

Prerequisities

  • Node.js 8.0.0+. We use cutting-edge EcmaScript features like async functions, which are supported since v7.0.1. We use util.promisify, which is supported since node 8.0.0.
  • npm v?
  • Arangodb v3.0 or later
  • maildev
  • @todo

Install

  • @todo
  • clone this repository
  • run npm install in the repository folder
  • run npm run init to create folders for avatar uploads
  • run NODE_ENV=development node ./bin/init-db

Run

NODE_ENV=development npm start

Test

npm run test:watch

Technology

Database

Arangodb is a multi-model NOSQL database. A model we are particularly interested in is graphs. They enable a nice way to model and navigate relationships.

Documentation

API documentation (raw) written with RAML

Development

Linting

Use one of the following:

npm run lint
npm run lint:fix

Testing

We practice behavior-driven development (BDD):

  • figure out expected behaviour
  • write a failing test of the behavior
  • make the test pass
  • refactor
  • repeat

Use one of the following:

npm test
npm run test:watch

Collaboration

If you want to collaborate on the creation of ditup, let's get in touch.