Skip to content

Latest commit

 

History

History
117 lines (90 loc) · 2.47 KB

README.md

File metadata and controls

117 lines (90 loc) · 2.47 KB

CatQuery

An API for cats!

Dependencies

  • MySQL
  • Node.js

Installation

Do the usual:

npm install

Usage

Environment

Make sure you have the following environment variables set:

Key Description Default
CATS_DB_HOST URI of MySQL server localhost
CATS_DB_PORT MySQL server's port 3306
CATS_DB_NAME Name of database to use for CatQuery cats
CATS_DB_USER Database's username test
CATS_DB_PASS Database user's password test
CATS_SHARED_SECRET String to use for generating authentication token test
CATS_PORT Port to run the application on 3000

Database

Run sql/cats.sql in the mysql cli or in mysql workbench to set up the scheme. No stub data for now, sorry :(

Up and Running

npm start

also start your mysql server, if it's not already running

Testing

npm test

Endpoints

* denotes optional field

POST /cat/login

Login to CatQuery

Request Body
Parameter Type
username String
password String
Returns
Field Type
authToken Java Web Token

POST /cat/register

Register a cat

Request Body
Parameter Type
birthdate* Date
breed* String
imageUrl* String
name String
password String
username String
weight Float
Returns

nothing

GET /cats/random

Gets a random cat

Headers
Parameter Type
Bearer Token Java Web Token
Request Body

None

Returns
Fields Type
breed String
imageUrl String
name String

GET /cats/

Headers
Parameter Type
Bearer Token Java Web Token
Request Body
Parameter Type
id* String
name* String
username* String
Returns

Array of cats, ordered by user's lastSeenAt, in descending order:

Fields Type
birthdate Date
breed String
imageUrl String
name String
username String
weight Float
id Int