- Git
- Node.js and npm Node ^4.2.3, npm ^2.14.7
- Bower (
npm install --global bower
) - Ruby and then
gem install sass
- Gulp (
npm install --global gulp
) - PostgreSQL
- Docker for production
Run following commands in app directory
- Run
npm install
to install server dependencies. - Run
bower install
to install front-end dependencies. - Run
gulp serve
to start the development server.
- Run
gulp build
for building in app directory - Run
docker-compose up -d
from main directory
Running npm test
will run the unit tests with karma.
Base API url in development mode is: http://localhost:9000
Base API url in production mode is: http://localhost
Correct header apikey
is 778b6b01-68ba-4156-970e-fd4fdb18c7dd
Service url: /api/allocations
Method: GET
Example request: http://localhost/api/allocations
Service url: /api/allocations
Method: GET
Query Parameters: UserId, AssetId, allocated(true/false value)
Example request: http://localhost/api/allocations?AssetId=137&allocated=true
Service url: /api/allocations
Method: POST
Example request: http://localhost/api/allocations
Example request body:
{
"allocatedFrom": "2016-06-08T00:00:00.000Z",
"allocatedTo": "2016-07-08T00:00:00.000Z",
"AssetId": 36,
"UserId": 15
}
Service url: /api/allocations/:id
Method: PUT
Parameters: id
Example request: http://localhost/api/allocations/1
Example request body:
{
"allocatedFrom": "2016-06-08T00:00:00.000Z",
"allocatedTo": "2016-07-08T00:00:00.000Z"
}
Service url: /api/allocations/:id
Method: DELETE
Parameters: id
Example request: http://localhost/api/allocations/1
Service url: /api/assets
Method: GET
Example request: http://localhost/api/assets
Service url: /api/assets/:id
Method: GET
Example request: http://localhost/api/assets/1
Service url: /api/assets
Method: POST
Example request: http://localhost/api/assets
Example request body:
{
"name": "Kia Sportage",
"TypeId": 1,
"parameters": {
"brand": "Kia",
"model": "Sportage"
}
}
Service url: /api/assets/:id
Method: PUT
Parameters: id
Example request: http://localhost/api/assets/1
Example request body:
{
"parameters": {
"brand": "Hyundai",
"model": "ix35"
}
}
Service url: /api/assets/:id
Method: DELETE
Parameters: id
Example request: http://localhost/api/assets/1
Service url: /api/types
Method: GET
Example request: http://localhost/api/types
Service url: /api/types/:id
Method: GET
Example request: http://localhost/api/types/1
Service url: /api/types
Method: POST
Example request: http://localhost/api/types
Example request body:
{
"name": "Car",
"attrs": ["brand", "model"]
}
Service url: /api/types/:id
Method: PUT
Parameters: id
Example request: http://localhost/api/types/1
Example request body:
{
"attrs": ["brand", "model", "productionYear"]
}
Service url: /api/types/:id
Method: DELETE
Parameters: id
Example request: http://localhost/api/types/1
Service url: /api/users
Method: GET
Example request: http://localhost/api/users
Service url: /api/users/:id
Method: GET
Example request: http://localhost/api/users/1
Service url: /api/users
Method: POST
Example request: http://localhost/api/users
Example request body:
{
"firstName": "Marcin",
"lastName": "Mrotek",
"email": "[email protected]"
}
Service url: /api/users/:id
Method: PUT
Parameters: id
Example request: http://localhost/api/users/1
Example request body:
{
"email": "[email protected]"
}
Service url: /api/users/:id
Method: DELETE
Parameters: id
Example request: http://localhost/api/users/1