====== dbconferences ====== ===== Tipo ===== * Aplicación ===== Descripción ===== **dbconferences** es una aplicación para gestionar conferencias, se basa en una base de datos en la cuál se almacenan todos los datos relacionados con cada conferencia, como son: los datos personales de los asistentes, los artículos, categorias, privilegios,etc. ===== Modelo de dominio ===== El modelo conceptual de la base de datos es el siguiente: {{ waine:app:dbconferences_erd.png?640 |}} * **People**: Es la tabla principal de la base de datos, la cual contiene una serie de atributos relacionados con las personas, como son los datos personales. A destacar un atributo llamado people_state gracias al cual se puede saber si una persona se ha registrado vía web y está pendiente de ser revisada por el administrador ( 0 ) o si ya ha sido revisada ( 1 ). Esta tabla se relaciona directamente con las tablas Accommodation, Institution, Conference, Peope_session, Author, Reviewer, People_catpeople, Area, Food y Transport. * **Accommodation**: En ella se almacenan los nombres de los distintos alojamientos en los que se quedarán los asistentes a la conferencia. Se relaciona exclusivamente con la tabla people. * **Institution**: En esta tabla se almacenan los nombres de las distintas instituciones a las que pertenecen los asistentes a la conferencia. Se relaciona exclusivamente con la tabla people. * **Conference**: En ella se guardan los datos de las diferentes conferencias gestionadas por la aplicación. Esta tabla se relaciona con la tabla People y con Session. * **Session**: En esta tabla se almacenan los datos relacionadas con las diferentes sesiones que se albergan en cada conferencia en concreto. Esta tabla se relaciona con la tabla People_session, Conference, Room y Paper. * **People_session**: Esta tabla sirve para relacionar la tabla people con la tabla session. En ella se indican que personas asisten a una sesión en concreta. Una persona puede asistir a varias sesiones y a una sesión pueden asistir diferentes personas. * **Room**: En ella se guardan los nombres de los diferentes espacios donde se celebrarán las diferentes sesiones. Esta tabla se relaciona exclusivamente con la tabla Session. * **Paper**: En esta tabla se guardan todos los datos de los diferentes artículos que se expondrán en la conferencia. Esta tabla se relaciona con la tabla Session, Paperstate, Catpaper, Author y Reviewer. * **Paperstate**: En ella se almacenan los diferentes estados en los que se pueden encontrar los artículos. Esta tabla se relaciona exclusivamente con la tabla Paper. * **Catpaper**: En ella se guardan las diferentes categorías en las que se clasifican los distintos artículos. Esta tabla se relaciona exclusivamente con la tabla Paper. * **Author**: Esta tabla se usa para relacionar la tabla people con la tabla paper. Gracias a ella se indica que persona/s es/son el/los autor/es de los diferentes artículos. Una persona puede escribir varias artículos y un artículo puede estar escrito por diferentes personas. * **Reviewer**: Esta tabla sirve para relacionar la tabla people con la tabla paper. Indicamos que persona/s es/son el/los revisor/es de los diferentes artículos. Una persona puede revisar varios artículos y un artículo puede ser revisado por diferentes personas. * **Catpeople**: En ella se guardan las diferentes categorías en las que se clasifican las diferentes personas que asisten a la conferencia. Esta tabla se relaciona con la tabla People, Area, Food y Transport. * **People_catpeople**: Esta tabla es usada para relacionar la tabla people con la tabla catpeople. Mediante ella se indica a que categoria/s pertenecen las distintas personas. Una persona puede pertenecer a varias categorías y a una categoría pueden pertenecer diferentes personas. * **Area**: En ella se guardan los nombres de las diferentes áreas en las que se permitirá el acceso o no de los asistentes a las conferencias. Esta tabla se relaciona con la tabla Catpeople y People_area. * **Food**: En ella se guardan los nombres de los distintos tipos de comida que se ofrecerán en las conferencias. Esta tabla se relaciona con la tabla Catpeople y People. * **Transport**: En ella se guardan los nombres de los diferentes tipos de transporte que serán usados en las conferencias para recoger/llevar a los diferentes asistentes. Esta tabla se relaciona con la tabla Catpeople y People. * **People_area**: Esta tabla sirve para relacionar la tabla people con la tabla area. Gracias a ella se indican a qué áreas pueden acceder las diferentes personas asistentes a las conferencias. Una persona puede acceder a diferentes áreas y a un área pueden tener acceso diferentes personas. * **Area_catpeople**: Esta tabla sirve para relacionar la tabla area con la tabla catpeople. Se usa para indicar a qué áreas pueden acceder las personas que pertenezcan a una categoría en concreto. Una persona perteneciente a una determinada categoría puede acceder a diferentes áreas y a un área pueden tener acceso diferentes personas pertenecientes a una misma categoría ===== Modelo de Usuarios ===== En whist existen los siguientes roles: * **Admin**: Usuario administrador. Controla totalmente la aplicación sin ninguna restricción, pudiendo insertar, borrar y modificar datos de todos los formularios. * **Worker**: Operador de la aplicación. Tiene restricciones en la aplicación, básicamente su misión es la de recibir a los asistentes y completar algunos datos que faltasen y finalmente imprimir la acreditación correspondiente. * **User**: Usuario de la aplicación. Solamente tiene acceso a la aplicación para registrar usuarios vía web. Este usuario podrá registrarse tanto así mismo, como a todos los miembros de su misma institución. Se le requirirá que introduzca una serie de datos personales de los distintos asistentes a la cada conferencia. | ^ Admin ^ Worker ^ User ^ ^ st_aplicaciones | ✓ | | | ===== Modelo de Presentación ===== No existen unidades de interacción relevantes ===== Notas =====