tsp-rest-api-server
TSP Rest Api Server - Rest Api Server using Dijsktra's algorithm applied to travelling salesman problem.
License
Licensed under the MIT License.
Install
Follow the steps below to get everything up and running.
pip
-
Create project folder:
$ mkdir tsp-rest-api-server && cd tsp-rest-api-server
-
Create virtualenv in the normal way:
$ virtualenv env --python=python
-
Active your new virtualenv:
$ source env/bin/activate
-
Install tsp-rest-api-server:
$ pip install tsp-rest-api-server
-
Create setting file:
$ tsp_rest_api_server settings
-
Set EVE_SETTINGS:
$ export EVE_SETTINGS=$PWD/settings.py
-
Run tsp rest api server:
$ tsp_rest_api_server runserver
Git
-
Clone repository:
$ git clone git@github.com:caputomarcos/tsp_rest_api_server.git
-
Go to tsp_rest_api_server source folder:
$ cd tsp-rest-api-server/
-
Create virtualenv in the normal way:
$ virtualenv env --python=python
-
Active your new virtualenv:
$ source env/bin/activate
-
Create dev environment:
$ make develop
Usage
-
Create routes:
$ curl -d "@map.json" -H "Content-Type: application/json" -X POST http://0.0.0.0:5000/maps or $ curl -d '{ "title":"Sao Paulo", "routes":[{"origin":"A","destiny":"B","distance":10},{"origin":"B","destiny":"D","distance":15},{"origin":"A","destiny":"C","distance":20},{"origin":"C","destiny":"D","distance":30},{"origin":"B","destiny":"E","distance":50},{"origin":"D","destiny":"E","distance":30}]}' -H "Content-Type: application/json" -X POST http://0.0.0.0:5000/maps
-
Search shortest route:
$ curl 'http://0.0.0.0:5000/maps/shortest?map=Sao%20Paulo&origin=A&destiny=D&price=2.50&autonomy=10' { "data": [ { "Path": "['A', 'B', 'D']" }, { "Total KM": "25.00" }, { "Cost": "6.25" } ] }
Drop all mongodb databases
# dropall.js var dbs = db.getMongo().getDBNames() for(var i in dbs){ db = db.getMongo().getDB( dbs[i] ); print( "dropping db " + db.getName() ); db.dropDatabase(); }
usage
mongo dropall.js