Really useful software project management and source code hosting.    tell me more...
BROWSE: projects / users / groups
Public clone: git://codaset.com/jyr/g6downloader.git
star_disabled Dashboard Source Tickets Wiki Blog Network


Really Useful Social coding!

Codaset is an open system, so you can browse and search through all the open source projects, and check out what your friends are coding. Follow them, befriend them, and fork their code; quickly and easily.
Every single open source project you create is free, so come on and use Codaset at no cost. Your first private or semi-private project is also free. Read more about what it costs after that.

by Jair Gaxiola
9 months ago
commit:633c004347c5143d8661fc0f8d5bc0ba3fde64a3
tree:8cbbe4efa724e5d77b9f1da8cb3850aed6b2c9c2
parent: cace58bf35a01a8ab8e9a7b3d881156cd6a8f107

README

Descripción
El cliente vende un aparato que reproduce contenido en la TV, el contenido (arhcivos de video) se sincroniza por Internet a través de una aplicación en la PC.
La aplicación sólo se encarga que mantener actualizados todos los archivos en cierto directorio preestablecido (con una estructura plana, sin subdirectorios)

Ruta típica

   1. La aplicación se ejecuta al iniciar el S.O.
   2. Se conecta a un servicio web remoto (XML-RPC ?) enviando la estructura actual del directorio local (arreglo con nombres de archivo y tamaños)
   3. El servicio web responde con:
         1. Una descarga de un .zip (o similar) con los archivos nuevos en caso de que existan
         2. Una lista de archivos a eliminar en caso de que están en el directorio local pero que no están en el directorio remoto.
         3. Timeout para la siguiente consulta (como medida para regular el ancho de banda)
   4. Con la respuesta, la aplicación ejecuta los cambios:
         1. Descomprime el .zip y coloca los nuevos archivos
         2. Elimina los archivos a eliminar.
         3. Espera el tiempo (timeout) obtenido de la última consulta para repetir desde paso 2.


Características

    * La primera vez que la aplicación se ejecuta se pedirá un nombre de usuario y contraseña que se quedarán guardados para autentificarse en el servicio web

    * Desafortunadamente hay que optimizar la aplicación para Windows, no estaría nada mal si de paso corre en OSX o Linux pero no es indispensable
    * La aplicación no tendrá interfaz gráfica, mas que un icono en el "system tray" o similar que indique el estado (conectado, desconectado, descagando) y se permita cambiar el nombre de usuario/contraseña.
    * En una segunda versión, el cliente pretende incorporar una interfaz gráfica para seleccionar el contenido (o algo así...)
    * Originalmente pensaba en Java por la disponibilidad de código y librerías..  pero además del ícono en el system tray, no se requiere mucho, a lo mucho un wapper de XML-RPC, lo demás son sencillas operaciones en el sistema de archivos, así que creo que podría ser cualquier lenguaje, lo que resulte más práctico.