Virtual Boards application represents boards containing columns that contains notes.
Notes can represent a shopping list, a project management board, ...
get the source :
git clone URLinstall virtualenv
pip install virtualenv --userlaunch virtualenv
source venv/bin/activateinstall flask and other external flask modules
pip install flask flask-script flask-sqlalchemy flask-migrate flask-restfulrun python command
python main.py runserverpython main.py db initpython main.py db migratepython main.py db upgradeFor all requests, the default output format is a HTML page. It is possible to ask a JSON output by adding a get parameter with name type and value json.
Example :
http://host:port/v1/?type=json
output :
{
"board-interactions": [...],
"boards": [...],
"column-interactions": [...],
"columns": [...],
"notes": [...]
}
In some cases (i.e. HTML forms), PUT and DELETE methods are not allowed. To cope with this limitation, it is possible to define in the POST request an optional field with name request-type with values delete, put to use DELETE and PUT methods instead.
- URL: http://host:port/v1/boards/
- request method: GET
- parameters : None
Usage Example:
curl <ROOT URL>/v1/boards/?type=json
- URL: http://host:port/v1/boards/
- request method: POST
- parameters :
- name: (string) name of the board
exemple:
curl -X POST <HOST>/v1/boards/ --data "name=new-board"
{"code": 201, "description": "created"}
- URL: http://host:port/v1/columns/
- request method: POST
- parameters :
- name: (string) name of the column
exemple:
curl -X POST <HOST>/v1/columns/ --data "name=new-column"
{"code": 201, "description": "created"}
- URL: http://host:port/v1/notes/
- request method: POST
- parameters :
- name: (string) name of the note
- content: (string) content of the note
usage example:
curl <HOST>/v1/notes/ -X POST --data "name=test&text=description"
output:
{
"code": 201,
"description": "created"
}
- URL: http://host:port/v1/boards/
- request method: DELETE
example:
curl -X DELETE <HOST>/v1/boards/ --data "id=2"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- URL: http://host:port/v1/columns/<COLUMN-ID>
- request method: DELETE
example:
curl -X DELETE <HOST>/v1/columns/ --data "id=2"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- URL: http://host:port/v1/notes/<NOTE-ID>
- request method: DELETE
example:
curl -X DELETE <HOST>/v1/notes/ --data "id=2"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- URL: http://host:port/v1/boards/<BOARD-ID>
- request method: PUT
- optional parameters :
- name: (string) name of the board
example:
curl -X DELETE <HOST>/v1/boards/ --data "id=2&name=modified_name"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- URL: http://host:port/v1/columns/<COLUMN-ID>
- request method: PUT
- optional parameters :
- name: (string) name of the column
example:
curl -X DELETE <HOST>/v1/columns/ --data "id=2&name=modified_name"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- URL: http://host:port/v1/notes/<NOTE-ID>
- request method: PUT
- optional parameters :
- name: (string) name of the note
- content: (string) content of the note
curl -X DELETE <HOST>/v1/notes/ --data "id=2&name=modified_name"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- URL: http://host:port/v1/boards-content/
- request method: POST
- parameters:
- board-id: id of the board
- column-id: id of the column
curl -X POST <HOST>/v1/boards-content/ --data "board-id=1&column-id=1"
{"code": 201, "description": "created"}
- URL: http://host:port/v1/columns-content/
- request method: POST
- parameters:
- column-id: id of the column
- note-id: id of the note
curl -X POST <HOST>/v1/columns-content/ --data "note-id=1&column-id=1"
{"code": 201, "description": "created"}
- URL: http://host:port/v1/boards-content/
- request method: DELETE
- parameters:
- board-id: id of the board
- column-id: id of the column
curl -X DELETE <HOST>/v1/boards-content/ --data "board-id=1&column-id=1"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- URL: http://host:port/v1/columns-content/
- request method: DELETE
- parameters:
- column-id: id of the column
- note-id: id of the note
curl -X DELETE <HOST>/v1/columns-content/ --data "note-id=1&column-id=1"
{"code": 204, "description": "No content: The request was processed successfully, but no response body is needed."}
- integrate in the documentation CURL calls
- make html5+js client with polymer
- prototype of droppelganger drag and drop library for mobiles (can be simple in the first version)