[Php-avanzado] Tesis Diego Oliva

Oliva, Diego M. diego en olivadiegom.com.ar
Lun Dic 22 12:35:31 ART 2008


Leo, acabo de volver a mardel, y no me llego ninguna respuesta, asi que 
te lo mando por de vuelta por si se perdio algun mail por el camino...
Voy a ver si llego para el 27...

--------

Buenas, Leo, te mando todo el proyecto de vuelta, a ver ahora que tul...

       Agenda...

            Registro de nuevo usuario:
               
                      Datos: Nombre de usuario, Contraseña, Nombre, 
Apellido, Dirección, Teléfono, Mail (Obligados), y optativos, los mismos 
que van a tener los contactos.
                      El usuario va a poder elegir de una lista un grupo 
al cual inscribirse o va a tener la opción de crear un nuevo grupo. En 
el primero de los casos, el alta va a estar regido por una configuración 
independiente para cada grupo, que tiene de opciones: registro 
automático; registro contra verificación de mail, registro contra 
verificación de mail con direcciones de mail excluyentes, registro 
contra aprobación del moderador del grupo. Si el usuario se está 
registrando y a su vez quiere dar de alta un nuevo grupo, va todo contra 
aprobación de administrador.

             Una vez dentro del sistema:

                      Cada usuario va a poder dar de alta nuevos 
contactos, asi como eliminar y modificar antiguos.
                        Cada contacto va a contar con los campos de 
información: Nombre, Apellido, Una Foto, Múltiples Direcciones, 
Múltiples Teléfonos, Múltiples Móviles, Múltiples E-Mails, Múltiples 
Páginas Web. También es posible categorizar cada contacto dentro de un 
grupo, y dichos grupos son únicos para cada usuario. Los teléfonos se 
pueden clasificar como de un tipo (Móvil, Hogar, Trabajo, Etc), a los 
cuales pueden ser agregados otros, también, únicos para cada usuario. 
Por otro lado, también se deberá definir uno de todos los múltiples de 
cada cosa como principal, para una mejor gestión de la información. Y, 
por último, es posible definir permisos para cada contacto, para que el 
mencionado pueda ser visible por el grupo al que pertenece el usuario, 
para cualquier usuario del sistema, o que quede como privado.

                      Luego, la consulta: cada usuario va a tener acceso 
a sus propios contactos, va a poder realizar busquedas por nombre o 
apellido, listar por inicial de nombre o apellido y retringir busquedas 
y listados a los distintos grupos. Y también podrá visualizar aquellos 
contactos que tengan permisos suficientes como para que el usuario 
logeado pueda ver.

                      Cada usuario va a tener su propia información 
personal, la cual será visible para su grupo o para todos los usuarios, 
configurable por dicho usuario.


*-------------- TABLAS -------------

cgroups (Grupos de los Contactos)*
  `id` int(11) NOT NULL auto_increment,
  `group` varchar(50) NOT NULL,

*cities*
  `id` int(11) NOT NULL auto_increment,
  `city` varchar(100) NOT NULL,
  `pre` varchar(10) NOT NULL,
  `zip` varchar(10) NOT NULL,
  `id_prov` int(11) NOT NULL,

*country*
  `id` int(11) NOT NULL,
  `country` varchar(100) NOT NULL,
  `pre` varchar(4) NOT NULL,

*data*
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) NOT NULL,
  `lname` varchar(100) NOT NULL,
  `pic` varchar(100) NOT NULL,
  `id_group` int(11) NOT NULL,
  `id_user` int(11) NOT NULL,
  `id_perm` int(11) NOT NULL,

*mails*
  `id` int(11) NOT NULL auto_increment,
  `mail` varchar(100) NOT NULL,
  `top` tinyint(1) NOT NULL,
  `id_data` int(11) NOT NULL,

*perm (Permisos disponibles para los contactos)*
  `id` int(11) NOT NULL auto_increment,
  `perm` tinyint(4) NOT NULL,
  `desc` varchar(50) NOT NULL,
*
phones*
  `id` int(11) NOT NULL auto_increment,
  `phone` varchar(20) NOT NULL,
  `desc` varchar(50) NOT NULL,
  `id_ptype` int(11) NOT NULL,
  `id_dir` int(11) NOT NULL,
  `id_data` int(11) NOT NULL,
  `top` tinyint(1) NOT NULL,

*pmails (Mails que serán permitidos al registro)*
  `id` int(11) NOT NULL,
  `pmails` varchar(100) NOT NULL,

*prov*
  `id` int(11) NOT NULL,
  `prov` varchar(100) NOT NULL,
  `id_pais` int(11) NOT NULL,

*ptypes (Tipos de teléfonos)*
  `id` int(11) NOT NULL auto_increment,
  `type` varchar(25) NOT NULL,

*rconfig (Configuración del registro)*
  `id` tinyint(4) NOT NULL,
  `desc` varchar(50) NOT NULL,

*ugroups (Grupos de usuarios)*
  `id` int(11) NOT NULL auto_increment,
  `group` varchar(50) NOT NULL,
  `id_rconfig` tinyint(4) NOT NULL,
  `desc` varchar(250) NOT NULL,
*
users*
  `id` int(11) NOT NULL auto_increment,
  `user` varchar(30) NOT NULL,
  `pass` varchar(64) NOT NULL,
  `chash` varchar(64) NOT NULL,
  `id_type` tinyint(4) NOT NULL,
  `id_group` int(11) NOT NULL,

*utypes (Tipos de usuarios)*
  `id` int(11) NOT NULL auto_increment,
  `type` tinyint(4) NOT NULL,
  `desc` varchar(250) NOT NULL,

*webs*
  `id` int(11) NOT NULL auto_increment,
  `web` varchar(150) NOT NULL,
  `desc` varchar(100) NOT NULL,
  `top` tinyint(1) NOT NULL,
  `id_data` int(11) NOT NULL,


Saludos,

-- 
Oliva, Diego Martín

www.olivadiegom.com.ar
diego en olivadiegom.com.ar
Tel.: +542235530137
Mar del Plata, Bs. As.
Argentina.

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20081222/457be128/attachment-0001.htm 


Más información sobre la lista de distribución Php-avanzado