Skip to content

fsalazarsch/colaborative

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

System Requirements

  • Python3.4
  • Django 1.8.1
  • PostgreSQL 9.4

Other libraries

  • docopt==0.6.2
  • docutils==0.12
  • Flask==0.10.1
  • grip==3.3.0
  • gunicorn==19.3.0
  • vitsdangerous==0.24
  • Jinja2==2.7.3
  • Markdown==2.6.2
  • MarkupSafe==0.23
  • path-and-address==1.0.0
  • Pillow==2.8.1
  • psycopg2==2.6
  • Pygments==2.0.2
  • reportlab==3.1.44
  • requests==2.7.0
  • uWSGI==2.0.10
  • validate-email==1.3
  • virtualenv==13.1.0
  • Werkzeug==0.10.4

API

pony.myhitmap.com/login/user/ a testear
pony.myhitmap.com/login/user/add/ a testear
pony.myhitmap.com/login/signin/ a testear
pony.myhitmap.com/login/signout/ a testear
pony.myhitmap.com/project/project/ a desarrollar
pony.myhitmap.com/project/user/ a desarrollar
pony.myhitmap.com/project/point/ a desarrollar
pony.myhitmap.com/project/model/ a desarrollar
pony.myhitmap.com/project/point/urbandata/ a desarrollar
pony.myhitmap.com/project/point/yelp/ a desarrollar
pony.myhitmap.com/project/point/hitscore/ a desarrollar
pony.myhitmap.com/chaintype/typelist a desarrollar
pony.myhitmap.com/chaintype/subtypelist a desarrollar

login

pony.myhitmap.com/login/user/

method = GET  
GET()

Retorna una descripcion detallada del usuario logueado

{"status":"OK",  
 "msg":"",  
 "user":{"id":1, 
         "first_name":"Larry",  
         "last_name:":"Gonzalez",  
         "email:":"larry@hit-map.com"}  

method = PUT  
POST(...)

Actualiza los valores dados en post del usuario logueado. Puede tomar valores de: first_name, last_name, password(para la actualizacion del mismo), new_password(debe ir acompañado de password)

{"status":"OK",  
 "msg":""}  

method = DELETE  
POST(user_id(int))

Deja al usuario no activo.

{"status":"OK",  
 "msg":""}  

pony.myhitmap.com/login/user/add/

method = POST  
POST(first_name(str), last_name(str), email(str), password(str), terms(str))

csrf_exempt. Crea un usuario con los valores dados. Por el momento crea un proyecto inicial y lo asocia al usuario. Valida que todos los parametros tengan alguna letra, el email no este registrado, term sea 'true'

{"status":"OK",  
 "msg":""}  

pony.myhitmap.com/login/signin/

method = POST
POST(email(str), password(str))

csrf_exempt. Crea la session si el usuario es valido y activo. Qué cosas guardaremos?

{"status":"OK",  
 "msg":"user logged in"}

pony.myhitmap.com/login/signout/

method not used

Desloguea al usuario

{"status":"OK",  
 "msg":"user logged out"}
project

pony.myhitmap.com/project/project/

method = GET  
GET

Recupera al usuario por session. Retorna la lista de proyectos que el usuario tiene permisis para ver. Filtra los proyectos eliminados (is_visible=True).

{"status":"OK",  
 "msg":"",  
 "total":2,  
 "projects":[{"id":1, "name":"initial project"},  
             {"id":2, "name":"second project"}]}  

method = GET  
GET(project_id)

Recupera al usuario por session, toma el project_id del request, valida que el usuario tenga permiso de lectura sobre el proyecto, que sea visible y retorna la descripcion del proyecto.

{"status":"OK",  
 "msg":"",  
 "project":{"id":1, 
            "name":"initial project",
            "owner":1,
            "points":5,
            "wizard_open":-1}}  

method = POST  
POST(name(str))

Recupera al usuario por session. Crea un nuevo proyecto asociado al usuario. Valida que el usuario no sea dueño de un proyecto con el mismo nombre. Retorna el id del nuevo proyecto.

{"status":"OK",  
 "msg":"",
 "project_id":34}  

method = PUT  
POST(project_id(int), ...)

Recupera al usuario por session, toma el project_id y los valores a cambiar del request, valida que el usuario tenga permiso de escritura sobre el proyecto, que sea visible y actualiza los atributos del proyecto. Puede tomar valores "name", "wizard_open"

{"status":"OK",  
 "msg":""}  

method = DELETE  
POST(project_id(int))

Recupera al usuario por session y el project_id del request, valida que el usuario sea dueño sobre el proyecto, que sea visible e invisibiliza al proyecto (is_visible=False).

{"status":"OK",  
 "msg":""}  

pony.myhitmap.com/project/user/

method = GET  
GET(project_id(int))

Retorna los id de los usuarios que tienen acceso al proyecto y su permiso asociado (read, write, owner)

{"status":"OK",  
 "msg":"",  
 "users":[{"id":2, "user_id":2, "permission":"owner"}, 
          {"id":3, "user_id":3, "permission":"read"}]}  

method = POST  
POST(project_id(int), user_id(int))

Recupera al usuario por sesion. Habilita al usuario pasado por parametro para que vea el proyecto

{"status":"OK",  
 "msg":""}  

method = PUT  
POST(project_id(int), user_id(int), permission)

Cambia el permiso del usuario pasado por parametro en el proyecto. si permission es 0, se elimina al usuario del proyecto.

{"status":"OK",  
 "msg":""}  

pony.myhitmap.com/project/point/

method = GET  
GET(project_id)

Recupera al usuario por sesion y el project_id del request. Valida que el usuario tenga permiso de lectura sobre el proyecto. Retorna la lista de puntos que pertenecen al proyecto

{"status":"OK",  
 "msg":"",  
 "total":2,  
 "points":[{"id":1, "location_name":"huerfanos"},  
             {"id":2, "location_name":"moneda"}]}  

method = GET  
GET(project_id(int), point_id(int))

Recupera al usuario por sesion, el project_id y el point_id del request. Valida que el usuario tenga permiso de lectura sobre el proyecto. Valida que el punto pertenezca al proyecto. Retorna la descripcion detallada del punto

{"status":"OK",  
 "msg":"",  
 "total":2,  
 "point":{"id":1, "location_name":"huerfanos", "latitude":-30.234, "longitude":-70.456}}  

method = POST  
POST(project_id(int), latitude, longitude)

Recupera al usuario por sesion, el project_id, latitude y longitude del request. Valida que el usuario tenga permiso de escritura sobre el proyecto. Crea un punto asociado al proyecto. Retorna el point_id.

{"status":"OK",  
 "msg":"",
 "point_id":25}  

method = PUT  
POST(project_id(int), point_id(int), ...)

Recupera al usuario por sesion, el project_id, point_id, y ... del request. Valida que el usuario tenga permiso de escritura sobre el proyecto. Actualiza el punto con los valores dados. Puede tomar valores de (COMPLETAR).

{"status":"OK",  
 "msg":""}  

method = DELETE  
POST(project_id(int), point_id(int))

Recupera al usuario por sesion, el project_id y el point_id del request. Valida que el usuario tenga permiso de escritura sobre el proyecto. Invisibiliza el punto. Invisibiliza al punto en el proyecto.

{"status":"OK",  
 "msg":""}  

pony.myhitmap.com/project/point/urbandata/

method = GET  
GET(project_id(int), point_id(int))

Recupera al usuario por sesion, el project_id y el point_id del request. Valida que el usuario tenga permiso de lectura sobre el proyecto. Retorna la data urbana asociada al proyecto.

{"status":"OK",  
 "msg":"",  
 "data":{"point_id":25,
         "poi_101":2,
         "adt_101":3}}  

pony.myhitmap.com/project/point/yelp/

method = GET  
GET(category(str))

Recupera al usuario por sesion y la categoria del request. Valida que el usuario tenga permiso de lectura sobre el proyecto. Retorna los puntos de yelp de esa categoria.

{"status":"OK",  
 "msg":"",  
 "data":{"point_id":25,
         "poi_101":2,
         "adt_101":3}}  

pony.myhitmap.com/project/point/hitscore/

method = GET  
GET(project_id(int), point_id(int))

Recupera al usuario por sesion, el project_id y el point_id del request. Valida que el usuario tenga permiso de lectura sobre el proyecto. Retorna el hitscore del punto. Si tiene permisos de escritura, lo calcula de ser necesario.

{"status":"OK",  
 "msg":"",  
 "hitscore":110}  

pony.myhitmap.com/project/model/

method = GET  
GET(project_id(int))

Recupera al usuario por sesion, el project_id del request. Valida que el usuario tenga permiso de lectura sobre el proyecto. Retorna estadisticas asociadas al hitscoremodel

{"status":"OK",  
 "msg":"",  
 "data":{"open_locations":2, "accuracy":97.3}}(COMPLETAR)  

method = POST  
POST(project_id(int))

Recupera al usuario por sesion, el project_id del request. Valida que el usuario tenga permiso de escritura sobre el proyecto. Calcula un nuevo modelo hitscoremodel

{"status":"OK",  
 "msg":""}  
chaintype

pony.myhitmap.com/chaintype/typelist

method = GET  
GET

Recupera al usuario por sesion. Retorna la lista de categorias que puede tomar un proyecto

{"status":"OK",  
 "msg":"",  
 "data":["Anchors", "Stores", "Pop-Up", "Other"]}  

pony.myhitmap.com/chaintype/subtypelist

method = GET  
GET(chaintype(str)=None)

Recupera al usuario por sesion. Retorna una lista con las subcategorías asociadas a chaintype. Retorna todas las subchaintype si chaintype no esta definido

{"status":"OK",  
 "msg":"",  
 "data":["Other"]}