Coder Social home page Coder Social logo

martinvol / tallerii Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 2.0 35.24 MB

Trabajo práctico de la materia Taller de Programación II (75.52)

License: GNU General Public License v3.0

JavaScript 0.25% Shell 0.51% Java 9.57% HTML 0.80% CSS 0.05% Makefile 0.72% Python 6.71% CMake 0.73% C++ 67.28% C 6.85% M4 0.37% Objective-C 0.08% Perl 5.08% Groff 0.98%

tallerii's People

Contributors

martincura avatar martinvol avatar milenaf30 avatar paulasaffioti avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tallerii's Issues

Notificaciones

Sistema de notificaciones para advertir de la recepción de un nuevo mensaje o una nueva solicitud.
En lo posible asegurar que al presionar la notificación se accede al área apropiada dentro de la app.

Auto-obtención de datos mediante Facebook

Permitirle al usuario obtener autocompletar ciertos datos mediante la información que ya se encuentra en su cuenta de Facebook.

Datos posibles:
nombre, apellido, ciudad, email, fecha de nacimiento

Búsquedas de profesionales AppServer

  • Búsqueda de usuarios básica (nombre, apellido, mail)
  • Búsqueda de usuarios avanzada mediante filtros de skill, posición de trabajo, y distancia
  • Métodos de ordenamiento del listado de usuarios por popularidad tanto en skill como posición
  • Especificar en la API
  • Testing

Errores de navegacion

Si estoy en una pantalla, al apretar la misma en el menu, no debería pasar nada. Ahora lo que pasa es que se apilan activities iguales.

Crear una interfaz REST + testing

El servidor debe ser capaz de recibir una petición de creación de un usuario con un determinado nombre, y recibirá el id de ese usuario como respuesta. También debe ser capaz de recuperar dicho nombre utilizando el id mencionado. Esto a través de una interfaz REST. Para tal fin, se utilizará Mongoose.

Incluir tests en Python para validar la funcionalidad mencionada.

Detallar la espeficación de la API implementada

App Server devuelve algo extraño

En un patrón que no pude identificar, el primer request por un usuario devolverá algo extraño, no parseable por JSON.

image

Al repetir el request, devuelve lo esperado.

Obtención de locación automática

Actualización de ¿las coordenadas geográficas? y ¿la ciudad? a partir del GPS incluido en cualquier celular Android, al tocar el botón correspondiente en el perfil.

Persistir informacion + testing

Al recibir un pedido de creación de usuario en base a un nombre, el servidor debe ser capaz de persistir dicha información y de devolver un identificador unívoco numérico. De esta forma, debe ser posible recuperar el nombre almacenado utilizando el identificador de usuario. Para esto, se deben implementar los mecanismos necesarios para almacenar y recuperar dicha información utilizando Leveldb.

Agregar tests unitarios para validar un correcto funcionamiento.

Servicio de recomendaciones

Permite

  • recomendar a alguien, así como des-rescomendarlo
  • ordenar a los usuarios por su popularidad == cantidad de recomendaciones
  • consultar (listar) a los usuarios más populares del sistema
  • permitir ver la lista de "recomendadores" (opcional)

Este número de recomendaciones debe devolverse en búsquedas ( #33 ) y otros listados para poder ordenarlos o simplemente mostrarlo.

  • Especificar en la API
  • Testing

Perfil information-complete

Faltarían:

  • Cargar la foto: aunque la URL todavía no se incluye en el GET, ya puedo dejarlo listo para cuando esté.
  • Confirmar funcionamiento de tarjetas de contactos, cuyo testeo postergaré hasta #17 (se devuelva la lista de contactos). De esto surge un tema a resolver relacionado.

Información de los contactos

(cc @PaulaSaffioti @milenaf30 ) Hay que decidir de qué manera se consiguen los contactos de un usuario y con qué información. El cliente necesitará los datos principales para estas "cards" de contactos: nombre, foto, puesto. Opciones:

  1. Se recibe un array de user IDs y se GETtean cada uno. Es lo más sencillo pero entonces el cliente tendrá que hacer un GET por cada ID para obtener esta poca información extra.
  2. No se recibe información de contactos (tal vez la cantidad) y existe un GET especial de /contactos/[usuario] tal que se devuelva un array con los datos especiales ya mencionados.
  3. Se recibe un array de contactos con esta información reducida de cada uno, en el GET de un usuario cualquiera. Esta es la solución que requiere menos GET, al costo de un response más extenso.

Mi voto está por 2 o 3, la diferencia siendo poca de mi lado.
[Pregunten si no se entendió algo.]

Servicio de mensajería server-side

  • Servicio de mensajería entre usuarios activos consolidado con GCM
  • Servicio de mensajería entre usuarios inactivos
  • Almacenamiento de las conversaciones
  • Especificar en la API
  • Testing

Edición de perfil

Modificación del perfil propio, incluyendo listados de work_history y skills, y la foto.

Resolver:

  • Cómo subir una foto.

Tokens

AppServer: Generar y guardar; recibir y revisar
Client: Recibir y guardar; enviar con cada request pertinente

Discutir posibilidades entre

  • Pedir usuario y contraseña cada vez
  • UyC se cargan en los input pero el usuario debe iniciar sesión nuevamente
  • Tokens vencen pero con UyC guardados se pide uno nuevo automáticamente
  • Tokens que no vencen (o de muy larga duración) y solo se pierden cuando se cierra sesión (con un request DELETE token?)

Votaría entre las últimas 2 posibilidades ya que son las que mantienen al usuario "conectado".
@martinvol @PaulaSaffioti @milenaf30

  • Especificar en la API
  • Testing

Solicitudes de contactos

Se permite agregar a un profesional como contacto, así como aceptar o rechazar una solicitud.

Dependiente de: Que establezcamos la API para enviar solicitudes de contacto.

Solicitudes pendientes

Hay que decidir también cómo determinar si hay solicitudes pendientes. Si no entendí mal, se resolvería con que la lista de contactos propia contenga a aquellos con el estado received.

Client-side:

  • Pantalla de solicitudes
  • Botón de solicitud la envía

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.