Definición:
Como objetivo de este proyecto se ha seleccionado el dominio de Grupos de reunión basado en el sistema Meetup.com.
Las principales razones para seleccionar este dominio son:
- Es bastante frecuente que mucha gente use el site Meetup para organizar o asistir a reuniones
- Ya existe un sistema que lo implementa, por lo que cualquiera puede comprobar la implementación contra un site en productivo
- Es un dominio poco complejo y fácil de entender
- No es trivial, es decir, hay reglas de negocio y lógica, por lo que no son operaciones CRUD
- No se necesita tener un conocimiento exhaustivo del dominio a diferencia de otros dominios como banca, salud, etc...
- No es un dominio grande, así que es fácil de implementar
Entre los requisitos que nos vamos a encontrar:
Usuarios
-
Cada
Administrador
,Miembro
yPagador
es unUsuario
. -
Para que un
Usuario
cree una cuenta en el sistema debe registrarse previamente. -
El mismo usuario sólo puede registrarse una sola vez.
-
Un registro de usuario expirará a las 24 horas si no se ha realizado la confirmación del registro por parte del usuario.
-
El usuario deberá confirmar el registro de usuario para poder ser registrado en el sistema.
-
A cada
Usuario
se le asigna uno o másRoles de Usuario
. -
Cada
Rol de Usuario
tiene un conjunto dePermisos
. UnPermiso
define si unUsuario
puede realizar una acción particular.
Administración
-
Para crear un nuevo
Grupo de Meetup
, unMiembro
debe hacer unaPropuesta de Grupo de Meetup
. -
Para proponer una
Propuesta de Grupo de Meetup
se necesita indicar un nombre, una descripción, la localización, el usuario que la propone y la fecha del meetup. -
Una
Propuesta de Grupo de Meetup
se envía a losAdministradores
y éste puede aceptar o rechazar la propuesta en un momento determinado. Si la rechaza debe indicar el motivo del rechazo. -
Si una
Propuesta de Grupo de Meetup
se acepta entonces se crea elGrupo de Meetup
.
Meetings
Meeting
-
Un meeting no puede ser cancelado una vez éste se haya iniciado.
-
Tampoco se pueden eliminar miembros(usuarios) que no son asistentes del meeting.
-
Siempre que un asistente del meeting sea eliminado se debe saber quién lo eliminó y el motivo por el que deja de asistir al meeting.
Asistentes al meeting
-
Al meeting se pueden añadir asistentes que sean miembros del grupo de meetup.
-
Un asistente al meeting sólo se puede añadir al meeting en el tiempo determinado para aceptar asistentes al meeting.
-
Cada asistente puede traer un número de invitados que no debe superar el número máximo de invitados que puede traer el asistente del meeting.
-
Un asistente sólo puede ser añadido si el límite de asistentes al meeting no ha sido superado.
-
Si se ha alcanzado el límite de meeting, los miembros del meetup pueden registrarse en una lista de espera.
-
Un asistente sólo puede ser añadido una sola vez al meeting.
-
Un meeting puede tener asistentes. Éstos asistentes pueden ser invitados o miembros del grupo de meetup. Si el meeting no va a tener asistentes miembros del grupo de meetup, el límite de asistentes invitados puede ser cualquiera, pero si al meeting van a asistir miembros del grupo de meetup el límite de los asistentes miembro debe ser superior al límite de asistentes invitados.
-
Una vez el meeting se ha iniciado, no se pueden eliminar asistentes del meeting.
Propuesta de grupo de Meetup
-
Para crear un nuevo
Grupo de Meetup
, unMiembro
hacer unaPropuesta de Grupo de Meetup
. -
Para proponer una
Propuesta de Grupo de Meetup
, elMiembro
necesita indicar un nombre, una descripción y la localización. -
La propuesta de grupo de meetup se puede aceptar. /--
-
No se puede aceptar una propuesta de grupo de meetup cuando ésta ya ha sido aceptada.
-
Una vez aceptada la propuesta de grupo de meetup, se puede crear el grupo de meetup y el creador de la propuesta se convierte en miembro organizador del grupo de meetup.
Grupos de Meetup
-
Un grupo de meetup se crea una vez que una propuesta de creación del grupo esté aceptada, en ese momento se podrá crear.
-
La información de un grupo de meetup son el nombre, la descripción, la localización, el creador y la fecha de creación del grupo de meetup.
-
El creador del grupo podrá actualizar el nombre, la descripción y la localización del grupo de meetup.
-
Al grupo de meetup se podrán añadir nuevos miembros, pero no miembros ya existentes.
-
Un miembro del grupo de meetup puede dejar el grupo en cualquier momento, pero el creador del grupo de meetup no puede dejar el grupo.
Comentarios en el meeting
-
Un
Miembro
de unGrupo de Meetup
puede añadir comentarios a unMeeting
existente. El comentario debe ser obligatorio. -
Un usuario puede añadir comentarios si es
Miembro
delGrupo de Meetup
. -
Los comentarios sólo podrán añadirse si éstos están habilitados por configuración.
Pagos
- Cada
Miembro
de la aplicación, es unPagador
en el módulo de pagos. - Un
Pagador
puede comprar una subscripción eligiendo el tipo de subscripción STANDARD o PREMIUM, y si el pago quiere realizarlo anual o mensualmente. - La subscripción tendrá un precio determinado dependiendo de la subscripción seleccionada.
- El
precio de la subscripción
debe coincidir con unalista de precios
disponibles.