marianorodriguez / 75.52-mensajero Goto Github PK
View Code? Open in Web Editor NEWTaller de Programacion II
Taller de Programacion II
Implementar un cliente que pueda realizar Post y Get a un servidor rest (considerar la biblioteca libcurl )
-> keys "user1/user2" == "user2/user1" ?
-> cerrar y abrir la DB para chequear la persistencia?
-> probar keys con caracteres invalidos? (cualquier cosa que no sea una letra o numero) se podria lanzar una exception para el caso que sea invalida una key
-> "user1" == "USER1" == "UsEr1" ?? (convertir todos los usernames a lowercase)
writing data and reading data
Permitir una configuración general de la aplicación:
Actualmente existe un archivo json que contiene la configuración del logger, ampliar su uso y quitar hardcodeo de su ruta.
Implementar un wrapper para la biblioteca mongoose, de manera que pueda iniciarse un servidor rest y que se le pueda agregar servicios que respondan según la url del request.
/createUser => /signUp
/(el de iniciar sesion) => /logIn
actualizar la parte de conexión del diagrama de clases según lo desarrollado.
recién ejecuté las pruebas y LoggerTests::should_be_thread_safe tiró error. Volví a ejecutar varias veces mas y estaba todo ok, asi que esa prueba está teniendo algún defecto por algún lado que hace que falle de vez en cuando, por favor mirar.
agregar una clase que se encargue de gestionar la conexión / desconexión de los usuarios
hacer abstracta la clase DataBase. De esta heredan ChatDB y UserDB. Luego cada una de estas implementa write y read con la misma firma! (key, value)
http://es.wikipedia.org/wiki/Principio_de_sustituci%C3%B3n_de_Liskov
Ejemplo:
std::string getUserFullName(std::string username);
pasa a
std::string getUserFullName(const std::string& username) const;
la idea es que se puedan compilar y correr el main y las pruebas desde el makefile generado por CMake, y que se generen todas las carpetas necesarias (como la del config.json)
meter pruebas de excepciones y posibles fallas
implementar los tests del logger
actualice el diagrama de activities poniendo una descripcion de como deberia comportarse cada activity con sus botones segun el flujo diseniado (no tengo enie en el teclado). teniendo en cuenta boton atras de android.
using base64 method
look for some hashing algorithm to encrypt user's passwords!
las pruebas de integracion de los services están modificando la base de datos del programa.
ver como poder hacer para usar una Mock DB, o algo parecido.
now ISerializable classes deserialize strings in their constructors
modificar la clase User para que reciba una contraseña ya encriptada, evitando mandar por URL la contraseña en texto plano. La responsabilidad de encriptarla pasará a ser del cliente.
subí algunas pruebas nuevas, y hay un par que estan fallando, mirar por favor.
a message can't be instantiated without setting its parameters!
Falta incorporar chatTest y messageTests a la compilación de pruebas
-> Logger
-> MD5 para encriptar las contraseñas que se le manden al servidor.
-> base64 para codificar/decodificar las fotos de perfil de los usuarios.
agregar un servicio que actualice el tiempo de ultima conexion de los clientes que lo ejecutan, para poder tener una lista de usuarios activos.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.