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 URL
install virtualenv
pip install virtualenv --user
launch virtualenv
source venv/bin/activate
install flask and other external flask modules
pip install flask flask-script flask-sqlalchemy flask-migrate flask-restful
run python command
python main.py runserver
python main.py db init
python main.py db migrate
python main.py db upgrade
For 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 :
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)