Sei sulla pagina 1di 3

El proyecto consiste en la creacin y publicacin de cdigos de programas de java a travs de

cuentas de usuario. Bsicamente es una Red Social para compartir programas de java. El
sistema estar definido por los siguientes parmetros:
Users
1. Existirn 3 tipos de usuarios:
a. Administrador
b. Premium
c. Regular
2. En la pantalla principal del sistema se podr iniciar sesin o crear una nueva cuenta,
cualquier persona puede crear una cuenta de usuario regular. Los datos que se
requieren del usuario regular son Nombre Completo, Nickname, contrasea, pas o
regin, la fecha de nacimiento, cuenta de correo, ubicacin geogrfica usando google
Maps.
Al momento de crear el usuario la contrasea se enviara un correo electrnico al nuevo
usuario confirmndole que su cuenta ha sido creada.
3. El usuario regular podr crear sus nuevos programas, visualizarlos y eliminarlos.
a. Dentro de la pantalla CREAR podr crear nuevos proyectos, carpetas, clases o
archivos, tambin puede existir carpetas dentro de otras carpetas que a la vez
contengan paquetes, clases o archivos, esta estructura se podr visualizar por
medio de un JTree que se actualizar cada vez que existan nuevos archivos o
carpetas. Sera algo as:

b. En cualquier momento de la creacin/edicin de un proyecto se puede


cambiar la clase que se est modificando buscndola en el JTree y dndole clic
a la misma.
c. Dentro de la pantalla de visualizacin y eliminacin de proyectos, de una lista
se deber poder seleccionar el proyecto; una vez seleccionado se deber
poder visualizar y navegar en su estructura por medio de un JTree,
visualizando en un rea de texto el archivo que se seleccione en el JTree.
Adems deber existir una para eliminar todo el proyecto, Carpeta, Clase o
Archivo seleccionado.
d. Al crear un programa se deber crear automticamente un archivo llamado
ReadMe.txt, en el cual el podr explicar en qu consiste el proyecto y su modo

de uso. El contenido de este archivo deber ser mostrado en la ventana de


visualizacin del proyecto.
4. El usuario Premium tendr todas las opciones descritas para el usuario regular, pero
tambin podr modificar programas de sus amigos. Para ello ser necesario que
proveer una opcin en la cual se muestren en el JTREE los programas de algn amigo
seleccionado por el usuario Premium.
5. El usuario Administrador debe contar con todas las opciones del usuario Premium,
adems de una seccin para controlar las cuentas de usuario, por medio de la cual
podr Bannear usuarios, editar sus datos o cambiarles el tipo. El administrador
tambin podr eliminar cualquier comentario existente en cualquier proyecto

Funcionalidad de la RED SOCIAL


Friending
1. Todos los usuarios tendrn una pantalla con una lista de los usuarios que NO son sus
amigos y una lista de amigos, deber existir una forma para hacerse amigo de otro
usuario o para eliminarlo de la lista de amistades, para hacerse amigo de otro usuario
es necesario que despus de invitarlo a ser su amigo, el otro usuario confirme si
aprueba la solicitud de amistad.
2. Cada usuario podr ver los proyectos de los usuarios en su lista de amigos, en modo de
solo visualizacin, puntuarlos de 1-5 estrellas, comentar en ellos y hacer Fork a ellos
(se explicar posteriormente).
3. Los usuarios podrn crear grupos o crculos de amigos (conocidos, grupo de trabajo,
etc) y agrupar sus amigos en ello por medio de un jTree.
Messaging
1. Todos los usuarios debern tener una pantalla de mensajera, donde podrn ver una
lista de todos los mensajes en su buzn de entrada, seleccionarlos para visualizarlos y
eliminarlos. En dicha lista los mensajes nuevos debern ser marcados con un asterisco
(u otro tipo de marca) para sealar que no han sido ledos y dicha marca deber
desaparecer al abrirlos por primera vez.
2. Todos los usuarios tendrn opcin para enviar un nuevo mensaje a otro usuario,
previamente seleccionado de una lista de amigos del usuario actual. Los mensajes se
dividirn en tres tipos:
a. Mensaje Instantneo: del cual se solicitar el asunto, el cuerpo del mensaje, el
destinatario y remitente.
b. Notificacin: De la cual se solicita el asunto, el cuerpo del mensaje y la
urgencia del mismo (baja, media, alta, catastrfica), destinatario y remitente

c. Follow: Tipo de mensaje para indicar a una persona que le sigue en lo que
hace esa persona. Se solicita nicamente el destinatario y el remitente (cuerpo
y asunto son autogenerados).
d. Correo: tipo de mensaje que se enviara un correo electrnico a la cuenta de
correo de dicho amigo

Forking
1. Los usuarios Premium y Administrador podrn hacer Fork a los proyectos de otros
usuarios en su lista de amigos. Un fork significa hacer una copia del proyecto de un
usuario y transferirlo a la cuenta de la persona que solicit el fork. Un proyecto que es
producto de un fork de otro, deber tener el nombre que el autor le di originalmente
ms Fork de: UserX. Por ejemplo:
a. Blog and stuff (By User01) // Proyecto original
b. Blog And stuff (Fork from User01) //Fork
2. Una vez realizados los cambios, los usuarios debern poder hacer un pull request, que
significa enviar una notificacin al autor del proyecto hacindole saber que ha
realizado cambios en su proyecto y que puede revisarlo para aplicar los cambios al
propio.
3. Cuando el usuario acepte el pull request, el sistema deber hacer un nuevo proyecto
entre los proyectos del usuario llamado NombreProyecto(User1-User2-merge), en el
cual unir los dos proyectos viendo que lneas NO son iguales en el otro proyecto y
agregndolas con un comentario al final que diga //Agregado automticamente
Generalidades del sistema
1. En la ventana de visualizacin del proyecto, el programa deber reconocer las palabras
reservadas de java (como ser String, int, char, for, while..etc) y cambiar sus letras a
color azul cuando los encuentre.
2. Encriptacin y Seguridad: Se debe encriptar todos aquellos datos que se

consideren necesarios y se deber proteger contra cualquier ataque web, bien


inyeccin de cdigo scripting u otro.
3. XML, Importar y exportar: El sistema debe ser capaz de exportar e importar toda
la informacin del sistema, de tal forma que los datos sean exportados usando
XML e importados de igual manera, esto con el objetivo de solo realizar una
configuracin y luego replicar dicha configuracin en otro ambiente o intancia.
4. Web Services: para el envi de correos se debe implementar un web service
5. Reportes. Al administrador del sistema debe tener acceso a reportes como ser los
usuarios, los programas por usuario, los crculos etc. Adems de contar con bitcoras
de acceso.

Potrebbero piacerti anche