MEMORIA VERACRUZ LUXURY APARTMENTS
UNIVERSIDAD DE MÁLAGA
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN
Pagina web con sistema de reservas para un edificio de apartamentos de lujo vacacionales.
Realizado por
Pon tu nombre
Dirigido por
nombre del director del proyecto
Departamento
DEPARTAMENTO LENGUAJES Y CIENCIAS DE LA COMPUTACIÓN
Málaga, Diciembre 2015
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN
Pagina web con sistema de reservas para un edificio de apartamentos de lujo vacacionales.
Realizado por
Pon tu nombre
Dirigido por
nombre del director del proyecto
Departamento
DEPARTAMENTO LENGUAJES Y CIENCIAS DE LA COMPUTACIÓN
Málaga, Diciembre 2015
UNIVERSIDAD DE MÁLAGA
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
INFORMATICA DE GESTIÓN
Reunido el tribunal examinador en el día de la fecha, constituido por:
Presidente/a Dº/Dª.___________________________________________
Secretario/a Dº/Dª.___________________________________________
Vocal Dº/Dª. ________________________________________________
para juzgar el proyecto Fin de Carrera titulado:
RED SOCIAL PARA LA AYUDA A LA DETECCIÓN Y ESTUDIO DE ENFERMEDADES INFECCIOSAS EN ENTORNOS ESCOLARES.
realizado por Dº/Dª.
tutorizado por Dº/Dª.
ACORDÓ POR ________________________________ OTORGAR LA
CALIFICACIÓN DE __________________________________
Y PARA QUE CONSTE, SE EXTIENDE FIRMADA POR LOS COMPARECIENTES
DEL TRIBUNAL, LA PRESENTE DILIGENCIA.
Málaga a ____ de______________ del 201_
El presidente El Secretario El Vocal
Fdo Fdo Fdo
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA
INFORMATICA DE GESTIÓN
Reunido el tribunal examinador en el día de la fecha, constituido por:
Presidente/a Dº/Dª.___________________________________________
Secretario/a Dº/Dª.___________________________________________
Vocal Dº/Dª. ________________________________________________
para juzgar el proyecto Fin de Carrera titulado:
RED SOCIAL PARA LA AYUDA A LA DETECCIÓN Y ESTUDIO DE ENFERMEDADES INFECCIOSAS EN ENTORNOS ESCOLARES.
realizado por Dº/Dª.
tutorizado por Dº/Dª.
ACORDÓ POR ________________________________ OTORGAR LA
CALIFICACIÓN DE __________________________________
Y PARA QUE CONSTE, SE EXTIENDE FIRMADA POR LOS COMPARECIENTES
DEL TRIBUNAL, LA PRESENTE DILIGENCIA.
Málaga a ____ de______________ del 201_
El presidente El Secretario El Vocal
Fdo Fdo Fdo
Índice
CAPÍTULO 1: INTRODUCCIÓN.. 7
1.1 Objetivos: 9
1.2 Metodología y fases de desarrollo: 9
1.3 Estructura de la Memoria. 10
CAPÍTULO 2: HERRAMIENTAS. 13
2.1 Introducción a las herramientas utilizadas en la red social escolar. 16
2.1.1 Arquitectura de la aplicación (MVC). 17
2.1.2 Django Framwork .. 19
2.1.3 Razor (motor de vista). 21
2.1.4 MySQL Server. 23
2.1.5 Entity Framework.. 24
CAPÍTULO 3: DESARROLLO DEL PROYECTO.. 27
3.1 FUNDAMENTOS. 27
3.1.1 Personas y roles del proyecto.. 31
3.1.2 Product Backlog. 31
3.1.3 Sprint Backlog. 37
CAPÍTULO 4: MANUAL DE USUARIO... 85
4.1 Introducción. 85
4.2 Manual 85
CAPÍTULO 5: CONCLUSIONES Y LÍNEAS FUTURAS.. 103
5.1 Conclusión. 103
5.2 Líneas futuras. 104
CAPÍTULO 6: REFERENCIAS BIBLIOGRÁFICAS. 107
CAPÍTULO 1: INTRODUCCIÓN.. 7
1.1 Objetivos: 9
1.2 Metodología y fases de desarrollo: 9
1.3 Estructura de la Memoria. 10
CAPÍTULO 2: HERRAMIENTAS. 13
2.1 Introducción a las herramientas utilizadas en la red social escolar. 16
2.1.1 Arquitectura de la aplicación (MVC). 17
2.1.2 Django Framwork .. 19
2.1.3 Razor (motor de vista). 21
2.1.4 MySQL Server. 23
2.1.5 Entity Framework.. 24
CAPÍTULO 3: DESARROLLO DEL PROYECTO.. 27
3.1 FUNDAMENTOS. 27
3.1.1 Personas y roles del proyecto.. 31
3.1.2 Product Backlog. 31
3.1.3 Sprint Backlog. 37
CAPÍTULO 4: MANUAL DE USUARIO... 85
4.1 Introducción. 85
4.2 Manual 85
CAPÍTULO 5: CONCLUSIONES Y LÍNEAS FUTURAS.. 103
5.1 Conclusión. 103
5.2 Líneas futuras. 104
CAPÍTULO 6: REFERENCIAS BIBLIOGRÁFICAS. 107
CAPÍTULO 1: INTRODUCCIÓN
La agrupación de la información permite acceder de una forma rápida y útil a la misma, y por tanto hace que esta información gane valor.
Desarrollamos esta Web con la necesidad de dar a conocer un edificio de apartamentos turísticos de lujo “Veracruz”.
Nuestra Web tiene como eje central gestionar las reservas
de un edificio de apartamentos turísticos asi como de promocionarlos en internet, queriendo ser una herramientas sencilla y ágil para gestionar el negocio y ser más accesible para los usuarios.
Las funciones más destacables son:
Gestión de las reservas de los apartamentos.
Gestión de usuarios.
Gestión de calendario de reservas y próximos eventos.
Control de precios según temporada.
Con todas estas funciones nuestra aplicación Web pretende centralizar la la gestión de las reservas asi como la gestión básica del edificio de apartamentos turísticos de lujo.
Para el desarrollo del proyecto, se ha diseñado una arquitectura en la que conviven varias tecnologías y varios lenguajes de codificación y programación:
HTML, Python, MySQL, Java script, AJAX, JQUERY y CSS.
Esta arquitectura permite un acceso rápido a los datos contenidos en la base de datos.
El desarrollo de este proyecto supone un reto personal, con el fin de demostrar los conocimientos adquiridos a lo largo de la carrera, tales como de base de datos, redes, Sistemas Operativo, así como de un gran trabajo de investigación.
1.1 Objetivos
Se propone la creación de una aplicación Web, con la finalidad de gestionar el material desarrollado. Donde poder resolver la totalidad de las necesidades de los creadores de los apartamentos turísticos de lujo a nivel informático en lo que se refiere a gestión y control de la información.
Los objetivos principales se detallan a continuación:
Gestionar registro de usuarios.
Gestionar calendario de reservas.
Hacer accesible nuestra aplicación Web a cualquier parte del mundo con acceso a la red, con la mayor compatibilidad posible entre diferentes navegadores.
Ampliar la oferta de los apartamentos turísticos de lujo, a todos los posibles interesados.
1.2 Metodología y fases de desarrollo
Fases del proyecto
El proyecto constara de 5 fases repartidas de la siguiente manera:
Recolección y análisis de los requisitos de la aplicación para describir las características del proyecto deseado.
Diseño del modelo de datos y la implementación de la base de datos.
Diseño de la interfaz de de usuario para todos los casos de uso para la aplicación Web en Python utilizando Django Framework.
Diseño de todas las funcionalidades abarcadas en el proyecto.
Recopilación de toda la documentación para redactar la memoria del proyecto.
Metodología
La metodología del proyecto consistirá en seguir todas las fases del proyecto, en este apartado especificaremos todas las características de nuestra aplicación.
En primer lugar, haremos una introducción sobre su funcionamiento, objetivo y las metodologías llevadas a cabo en el mercado actual.
Posteriormente desarrollaremos la aplicación Web que incorporará los siguientes casos de uso principales:
Gestión de Reservas:
La gestión de reservas habitaciones se encargara de todo lo que va relacionado con el estado de las reservas de habitaciones. De esta forma podemos.
Consultar precios orientativos, solicitar una reserva de habitación, pudiendo consultar el equipamiento, disponibilidad y capacidad de las habitaciones asi como definir la duración de la estancia deseada etc.
Galeria de imágenes de las habitaciones especificando los equipamientos disponibles la capacidad y las tarifas por temporadas donde los usuarios puedan hacer una consulta visual de las estancias.Poder almacenar toda la información relacionada con las habitaciones, para poder definir su precio y cuando caduca partiendo de que los precios varian por temporada, así como una herramienta que controle la disponibilidad de las habitaciones reservadas. Informar al usuario en caso de que se quite dentro del plazo, el aviso puede ser vía email o bien con notificación.
Conectividad con plataformas web de reservas:
- Booking
- Airbnb
- Expedia
- Wimdu
- Housetrip
- Tripadvisor
1.3 Estructura de la Memoria
La memoria es un documento escrito donde se realiza un seguimiento del proyecto de forma detallada desde el nacimiento de la idea hasta la obtención de la aplicación final. Los capítulos que aparecerán a lo largo de esta memoria se detallan a continuación.
La introducción, es el primero de sus capítulos. Explica la idea general del proyecto, así como los motivos de su elección y los objetivos planteados.
El segundo capítulo Herramientas, donde se describe la Arquitectura de la aplicación (MVC) del proyecto, de la base de datos y de Django Se especifican las características de la aplicación según los requisitos indicados. Se comentan las librerías utilizadas y la modificación o creación de estas.
En el tercer capítulo hablaremos del plan de proyecto y su desarrollo, sección en la que recoge el conjunto de actividades que permiten desarrollar, gestionar, ejecutar y controlar el proyecto. En este capítulo se recogen las diferentes fases del desarrollo del proyecto.
En el diseño del proyecto, se especifican las características de la aplicación según los requisitos indicados. Se comentan las librerías utilizadas y la modificación o creación de estas.
En la etapa de implementación y pruebas, se detallan las convenciones de codificación utilizadas y se explican de forma detallada las pruebas realizadas durante el proceso de codificación de la aplicación, también las pruebas realizadas, con la finalidad de garantizar un óptimo funcionamiento.
En el cuarto capítulo se expone el MANUAL DE USUARIOS.
Llegados al capitulo 5 CONCLUSION se analizan las aportaciones de éste, los objetivos conseguidos y los no conseguidos, así como las posibles mejoras y ampliaciones.
Terminaremos con el capitulo 6, REFERENCIAS BIBLIOGRÁFICAS
CAPÍTULO 2: HERRAMIENTAS
2.1 Introducción a las herramientas utilizadas
2.1.1 Arquitectura de la aplicación (MVC)
The MVC Pattern in Web Development
the model-view-controller pattern came for web-based applications
was introduced. This software engineering pattern separates data (model), user
interface (view), and data handling logic (controller), so that one can be changed
without affecting the others. The benefits of this pattern are obvious. With it,
designers can work on the interface without worrying about data storage or
management. And developers are able to program the logic of data handling
without getting into the details of presentation. As a result, the MVC pattern
quickly found its way into web languages, and serious web developers started to
embrace it in preference to previous techniques.
The diagram below shows how each of the components of the MVC pattern interact
with each other to serve a user request:
Python is a general purpose programming language. Although it is used for a wide
variety of applications, Python is very suitable for developing web applications. It
has a clean and elegant syntax, and is supported by a large library of standard
and contributed modules, which covers everything from multi-threading to the
zipping of files. The language's object-oriented model is especially suited for MVC
style development:
2.1.2 Django Framework
Why Django?
Since the spread of the MVC pattern into web development, Python has provided
quite a few choices when it comes to web frameworks, such as Django, TurboGears
and Zope. Although choosing one out of many can be confusing at first, having
several competing frameworks can only be a good thing for the Python community,
as it drives the development of all frameworks further and provides a rich set of
options to choose from.
Tight Integration between Components
First of all, Django provides a set of tightly integrated components; all of these
components have been developed by the Django team themselves. Django was
originally developed as an in-house framework for managing a series of news-oriented
websites. Later its code was released on the Internet and the Django team continued its
development using the Open Source model. Because of its roots, Django's components
were designed for integration, reusability and speed from the start.
Object-Relational Mapper
Django's database component, the Object-Relational Mapper (ORM), provides a
bridge between the data model and the database engine. It supports a large set of
database systems, and switching from one engine to another is a matter of changing
a configuration file. This gives the developer great flexibility if a decision is made to
change from one database engine to another.
Clean URL Design
The URL system in Django is very flexible and powerful; it lets you define patterns
for the URLs in your application, and define Python functions to handle each pattern.
This enables developers to create URLs that are both user and search engine friendly.
Automatic Administration Interface
Django comes with an administration interface that is ready to be used. This interface
makes the management of your application's data a breeze. It is also highly flexible
and customizable.
Advanced Development Environment
In addition, Django provides a very nice development environment. It comes with a
lightweight web server for development and testing. When the debugging mode is
enabled, Django provides very thorough and detailed error messages with a lot of
debugging information. All of this makes isolating and fixing bugs very easy.
Multi-Lingual Support
Django supports multi-lingual websites through its built-in internationalization
system. This can be very valuable for those working on websites with more than one
language. The system makes translating the interface a very simple task.
The standard features expected of a web framework are all available in Django.
These include the following:
A template and text filtering engine with simple but extensible syntax.
A form generation and validation API.
An extensible authentication system.
A caching system for speeding up the performance of applications.
A feed framework for generating RSS feeds.
Even though Django does not provide a JavaScript library to simplify working with Ajax, choosing one and integrating it with Django is a straightforward matter.
So to conclude, Django provides a set of integrated and mature components, with
excellent documentation, at http://www.djangoproject.com/documentation/,thanks to its large community of developers and users. With Django available, there has never been a better time to start learning a web development framework!
2.1.3 sqlLite 3.0
2.1.4 otras tecnologias implicadas
Introducción
Para la realización de este proyecto se ha trabajado con el programa Sublime text, un editor de texto gratuito que proporciona
al usuario muchas posibilidades de trabajo, como la colocación de etiquetas o sintaxis propias del lenguaje de trabajo. Además con el uso de colores diferencia el uso de diversos lenguajes, lo que en este proyecto que se hace uso de varios, permite el poder distinguir y observar errores más fácilmente, realizar un códigomás legible, etc..
Se ha trabajado con los lenguajes HTML, CSS, Java Script, Python, SQL y AJAX.
HTML
HTML, siglas deHyperText Markup Language(Lenguaje de arcado de Hipertexto), es el lenguaje de marcado predominante para la e
laboración de páginas Web. Es usado para describir la estructura
y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML, al estar orientado al uso de un etiquetado correcto, exige una serie de requisitos básicos a cumplir en lo que a código se refiere. Entre estos requisitos básicos se puede mencionar una estructuración coherente dentro del documento donde se incluirían elementos correctamente anidados, etiquetas en minúsculas, elementos cerrados correctamente, atributos de valores entrecomillados, etc.
A continuación se pueden ver algunos ejemplos de los aspectos más importantes a tener en cuenta a la hora de utilizar HTML.
Un formato correcto en un documento HTML es muy importante. Esto quiere decir que todos los elementos deben tener etiquetas
de cierre, deben estar escritos de una forma determinada y además todos los elementos deben estar anidados correctamente.
<p>Ejemplo de elementos bien <em>anidados</em>.</p>
<p>Ejemplo de elementos mal <em>anidados</p>.</em>
Tanto los elementos como los atributos debenir en minúsculas para todos los elementos HTML y los nombres de atributos. Esto es
importante ya que HTML interpreta las mayúsculas y las minúsculas de formadiferente.
<body>Ejemplo correcto</body>
<BODY>Ejemplo incorrecto</BODY>
Los elementos que no estén vacios necesitan etiquetas de cierre.
<p>Ejemplo correcto.</p>
<p>Ejemplo incorrecto.<p>Ejemplo incorrecto.</p>
Los valores de las etiquetas deben ir siempre entrecomillas. Todos los valores de los atributos deben ir entre comillas, incluso aquellos que sean numéricos.
<table rows="3">
<table rows=3> ejemplo incorrecto
Existen varias versiones de HTML (3, 4, 5, etc.). Para utilizar una versión concreta, se debe incluir antes del elemento html del código de la página Web, la Definición del Tipo de Documento (DTD) que se pretende utilizar. Por ejemplo, un documento en HTML (5.0) Podría especificarse de la siguiente forma:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
<title>Título</title>
</head>
<body>
</body>
</html>
CSS
Es un lenguaje formal para definir la presentación de un documento escrito en HTML o XHTML. La idea del desarrollo de CSS es separar la estructura de un documento de su presentación.
La información de estilo puede estar adjunta en el mismo documento XHTML o en un documento de estilo, como es el caso elegido para el desarrollo de este proyecto.
Los estilos se pueden definir en el fichero de estilo y a partir de etiquetas aplicarlos en el documento HTML.
Java Script
Java Script es un lenguaje de programación interpretado, es decir, no requiere compilación. Se utiliza básicamente en páginas web, con una sintaxis similar a la de los lenguajes JAVA o C.
Todos los navegadores actuales interpretan el código Java Script integrado dentro de las Webs. Para interactuar con la página
Web, se provee al lenguaje Java Script de una implementación DOM (una API, quepermite acceder, añadir y modificar de forma dinámica el contenido estructura do en los documentos).
SQL
El lenguaje de consulta estructurado SQL es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas.
Permite lanzar consultas con la finalidad de recuperar, de forma sencilla, información de interés de las tablas de las bases de datos, así como realizar modificaciones sobre las mimas.
Las consultas realizadas en el proyecto se encuentran dentro de los
documentos PHP, y cada uno de estos tiene las suyas propias necesarias.
AJAX
AJAX, acrónimo de Asynchronous JavaScript And XML, es un conjunto de tecnologías de desarrollo con tal de conseguir apli
caciones Web interactivas. Estas aplicaciones se ejecutan en el cliente , es decir, en el navegador de los usuarios y mantiene comunicación asíncrona con el servidor en segundo término.
De esta manera es posible realizar cambios sobre lamisma página sin la necesidad de recargarla. Este hecho supone un aumento de la interactividad, velocidad y uso de la misma.
CAPÍTULO 3: DESARROLLO DEL PROYECTO
Product backlog
The Scrum Alliance website, It lists everything that the product owner and Scrum team feels should be included in the software they are developing in a Scrum environment.
Profiles
As a product owner, I want to describe my building and apartaments on my own page in a semi-structured way. That is, I can fill in predefined fields, but also have place for a free-text field or two. (It would be nice to let this free text be HTML or similar.)
As a product owner, I can read pplications and approve or cancel them.
As a stuff member, I can fill out an application to become site administrator.(sigup/loging)
As a site administrator, I want apartament profiles to list my upcoming reservations and include a link to a detailed page about each.
As a site administrator, I can edit any site apartament profile, offers.
As a site administrator, I can see the status of the reservations request.
As a site administrator, I can be alerted when a new reservation request has being sended.
As a site visitor, I can freely view the profiles of all the apartaments.
As a site visitor, I can see the availability of them.
As a site visitor, I can search for apartment based on a few fields (class checkin, nights, person(s)).
As a site visitor, I can fill out an application to rent an apartament or more.
As a site visitor, I can fill my personal information with the rent application and send a request of reservation.
As a site visitor,I can pay my reservation and recibe an reservation number pending of pay confirmation.
As a site visitor, after a pay confirmation, I can recibe a notification with the reservation confirmation number with the description of my buy.
Home Page
As a site editor, I want to have a prominent area on the home page where I can put special offerts, not necessarily news or articles.
As a site editor, I'd like to have some flexibility as to where things appear to accommodate different types of content.
As a site editor, I'd like the upcoming offerts are what I want visitors to notice.
As a site editor, I have ideas on how I want the home page to look and feel.
As a site visitor, I want to see new content when I come to the site.
As a site visitor, I want to have articles that interest me and are easy to get to.
As a site visitor, I need to know as soon as I visit what on earth Veracruz luxury Apartments is, and why I needs to visit it
As a site visitor, I want to know as I glance around the home page.
As a site visitor, I want to be able to get back to the home page quickly and easily.
As a site visitor, I want to see a list of the most popular items on the site. (It would be useful to a have a "most popular" box that listed the most popular articles, news offerts, or etc.)
As a site visitor, I want to see the exact location of the Apartaments building on a map.
Apartments
As a administrator, or editor, I can create, read, update and delete (CRUD) Apartments profiles.
As a site visitor, I can freely view the profiles of all the apartaments.
As a site visitor, I can freely check availability of all the apartaments.
Contact
As a administrator, or editor, I can create, read, update and delete (CRUD) contact details.
As a site visitor, I can freely see contact details.
Offerts and Events
As a site editor, I can create a new offert or event. This includes the following information: name, description , start date, end date, venue name and address, contact name, contact phone, contact email, a link for more information, and a link to register. The name of the offferts.
As a site editor, I am charged a listing fee for that activity. (Note: We’ll need this to tie into credit card processing.)
As a site editor, I can update any course or event.
As a site editor, I can update any course or event.
As a site administrator, I can create an Other Offert (?) or Event that is not charged a listing fee.
As a site administrator, I can update one of my existing Offerts or Events.
As a site administrator, I can delete one of my Offerts or Events.
As a site administrator, I can delete any course or event.
As a administrator, or editor, I can turn a course into an event or an event into a offert (in case it was entered in the wrong category).
As a site visitor, I can see a list of all “Hotel Certifications”.
As a site visitor, I can see a list of all upcoming “Events.” (Events are things such as the Gathering, conferences, free seminars, etc.)
As a site visitor, I have an advanced search option that lets me fill in a form of search criteria (checkin, nights, person(s))
As a site visitor, when I’m viewing a Offert, I can click on the apartament name and be taken to the Apartament profile.
As a site visitor, I can subscribe to an RSS feed of upcoming Offert and Events.
FAQs
As a site visitor, I can read FAQs.
As a site administrator, I can see a list of the FAQs.
As a site administrator, editor, I can maintain an FAQ section.
Profiles
As a product owner, I want to describe my building and apartaments on my own page in a semi-structured way. That is, I can fill in predefined fields, but also have place for a free-text field or two. (It would be nice to let this free text be HTML or similar.)
As a product owner, I can read pplications and approve or cancel them.
As a stuff member, I can fill out an application to become site administrator.(sigup/loging)
As a site administrator, I want apartament profiles to list my upcoming reservations and include a link to a detailed page about each.
As a site administrator, I can edit any site apartament profile, offers.
As a site administrator, I can see the status of the reservations request.
As a site administrator, I can be alerted when a new reservation request has being sended.
As a site visitor, I can freely view the profiles of all the apartaments.
As a site visitor, I can see the availability of them.
As a site visitor, I can search for apartment based on a few fields (class checkin, nights, person(s)).
As a site visitor, I can fill out an application to rent an apartament or more.
As a site visitor, I can fill my personal information with the rent application and send a request of reservation.
As a site visitor,I can pay my reservation and recibe an reservation number pending of pay confirmation.
As a site visitor, after a pay confirmation, I can recibe a notification with the reservation confirmation number with the description of my buy.
Home Page
As a site editor, I want to have a prominent area on the home page where I can put special offerts, not necessarily news or articles.
As a site editor, I'd like to have some flexibility as to where things appear to accommodate different types of content.
As a site editor, I'd like the upcoming offerts are what I want visitors to notice.
As a site editor, I have ideas on how I want the home page to look and feel.
As a site visitor, I want to see new content when I come to the site.
As a site visitor, I want to have articles that interest me and are easy to get to.
As a site visitor, I need to know as soon as I visit what on earth Veracruz luxury Apartments is, and why I needs to visit it
As a site visitor, I want to know as I glance around the home page.
As a site visitor, I want to be able to get back to the home page quickly and easily.
As a site visitor, I want to see a list of the most popular items on the site. (It would be useful to a have a "most popular" box that listed the most popular articles, news offerts, or etc.)
As a site visitor, I want to see the exact location of the Apartaments building on a map.
Apartments
As a administrator, or editor, I can create, read, update and delete (CRUD) Apartments profiles.
As a site visitor, I can freely view the profiles of all the apartaments.
As a site visitor, I can freely check availability of all the apartaments.
Contact
As a administrator, or editor, I can create, read, update and delete (CRUD) contact details.
As a site visitor, I can freely see contact details.
Offerts and Events
As a site editor, I can create a new offert or event. This includes the following information: name, description , start date, end date, venue name and address, contact name, contact phone, contact email, a link for more information, and a link to register. The name of the offferts.
As a site editor, I am charged a listing fee for that activity. (Note: We’ll need this to tie into credit card processing.)
As a site editor, I can update any course or event.
As a site editor, I can update any course or event.
As a site administrator, I can create an Other Offert (?) or Event that is not charged a listing fee.
As a site administrator, I can update one of my existing Offerts or Events.
As a site administrator, I can delete one of my Offerts or Events.
As a site administrator, I can delete any course or event.
As a administrator, or editor, I can turn a course into an event or an event into a offert (in case it was entered in the wrong category).
As a site visitor, I can see a list of all “Hotel Certifications”.
As a site visitor, I can see a list of all upcoming “Events.” (Events are things such as the Gathering, conferences, free seminars, etc.)
As a site visitor, I have an advanced search option that lets me fill in a form of search criteria (checkin, nights, person(s))
As a site visitor, when I’m viewing a Offert, I can click on the apartament name and be taken to the Apartament profile.
As a site visitor, I can subscribe to an RSS feed of upcoming Offert and Events.
FAQs
As a site visitor, I can read FAQs.
As a site administrator, I can see a list of the FAQs.
As a site administrator, editor, I can maintain an FAQ section.
Sprint backlog
The sprint backlog is a list of tasks identified by the Scrum team to be completed during the Scrum sprint. During the sprint planning meeting, the team selects some number of product backlog items, usually in the form of user stories, and identifies the tasks necessary to complete each user story. Most teams also estimate how many hours each task will take someone on the team to complete.
Diseño del modelo de datos y la implementación de la base de datos.
Descripción detallada de la base de datos
En este apartado se presenta una descripción detallada de las tablas de la base de datos, mostrando todos sus campos y sus tipos de datos.
Tabla Reservas
Esta tabla almacena los datos referentes a los usuarios registrados, ofrece gran cantidad de campos para tener información detallada de cada usuario, todos los campos son obligatorios a la hora de solicitar una reserva.
Categoría Tipo de datos
ID
NOMBRE TEXTO (15)
APELLIDO TEXTO (15)
USERNAME TEXTO (15)
PASSWORD TEXTO (32)
PAÍS TEXTO (15)
EMAIL TEXTO (25)
Tabla Admins
Esta tabla almacena todos los usuarios registrados
como administradores.
Reacordamos que sólo un administrador puede dar derechos de administrador.
En la tabla almacenamos el nombre de usuario, password y email, relacionamos esta tabla con la tabla de Registro mediante el email de usuario.
Categoría Tipo de datos
ID INT (¿?)
ADMINUSER TEXTO (20)
ADMINPASS TEXTO (32)
EMAIL TEXTO (20)
Tabla Adminmsg
En esta última tabla podemos almacenar todas las solicitudes generadas por cualquier usuario que acceda a la red. Aunque he optado por enviar directamente un email con todos los campos al administrador de administradores, en este caso el stakeholder.
Categoría Tipo de datos
ID
ORIGEN TEXTO (20)
NOMBRE TEXTO (20)
APELLIDO TEXTO (30)
EMAIL TEXTO (30)
ASUNTO TEXTO (30)
MENSAJE TEXTO(300)
FECHA DATE
En este apartado se presenta una descripción detallada de las tablas de la base de datos, mostrando todos sus campos y sus tipos de datos.
Tabla Reservas
Esta tabla almacena los datos referentes a los usuarios registrados, ofrece gran cantidad de campos para tener información detallada de cada usuario, todos los campos son obligatorios a la hora de solicitar una reserva.
Categoría Tipo de datos
ID
NOMBRE TEXTO (15)
APELLIDO TEXTO (15)
USERNAME TEXTO (15)
PASSWORD TEXTO (32)
PAÍS TEXTO (15)
EMAIL TEXTO (25)
Tabla Admins
Esta tabla almacena todos los usuarios registrados
como administradores.
Reacordamos que sólo un administrador puede dar derechos de administrador.
En la tabla almacenamos el nombre de usuario, password y email, relacionamos esta tabla con la tabla de Registro mediante el email de usuario.
Categoría Tipo de datos
ID INT (¿?)
ADMINUSER TEXTO (20)
ADMINPASS TEXTO (32)
EMAIL TEXTO (20)
Tabla Adminmsg
En esta última tabla podemos almacenar todas las solicitudes generadas por cualquier usuario que acceda a la red. Aunque he optado por enviar directamente un email con todos los campos al administrador de administradores, en este caso el stakeholder.
Categoría Tipo de datos
ID
ORIGEN TEXTO (20)
NOMBRE TEXTO (20)
APELLIDO TEXTO (30)
EMAIL TEXTO (30)
ASUNTO TEXTO (30)
MENSAJE TEXTO(300)
FECHA DATE
Diseño de la interfaz de de usuario para todos los casos de uso y funcionalidades abarcadas en el proyecto en la aplicación Web en Python utilizando Django Framework html5 CSS y JavaScript.
Diseño de la interfaz gráfica
El diseño de la aplicación responde a la necesidad del stakeholder
Explotador del edificio de apartamentos turisticos, de tener la información de manera clara y ordenada, y a su vez tener un aspecto atractivo y agradable que represente el lujo de los equipamientos ofertados.
El diseño se ha realizado utilizando los colores llamativos, y animaciones del mismo edificio, y buscando constantemente la simplicidad en el uso de la aplicación.
Descripción del diseño de las secciones de la aplicación
En este apartado se presentará el diseño que se ha utilizado para solucionar cada uno de los módulos de los que consta la aplicación. Todos los módulos utilizan la misma estructura y diseño de colores, haciendo uso de estos para resaltar alertas o avisos.
Diseño de la interfaz gráfica
El diseño de la aplicación responde a la necesidad del stakeholder
Explotador del edificio de apartamentos turisticos, de tener la información de manera clara y ordenada, y a su vez tener un aspecto atractivo y agradable que represente el lujo de los equipamientos ofertados.
El diseño se ha realizado utilizando los colores llamativos, y animaciones del mismo edificio, y buscando constantemente la simplicidad en el uso de la aplicación.
Descripción del diseño de las secciones de la aplicación
En este apartado se presentará el diseño que se ha utilizado para solucionar cada uno de los módulos de los que consta la aplicación. Todos los módulos utilizan la misma estructura y diseño de colores, haciendo uso de estos para resaltar alertas o avisos.
HOME
LOCATION
APARTAMENTS
DETAIL VIEW
CONTENIDOS
1.Home
•Photo Slider (3-5 Fotos)
•Reservation module
Checkin Date, Checkout Date, N° of Adults, N° of Bloody noisy kids
Extra Filters:
•Teaser Text „about us“ (ca 100 words)
•3 columns „Top Offers“ with foto, short description (can be checked as „top offer“ in CMS) or 3 random choices with link „see all“
•Google Map
•Additional teasers / link to special offers (e.g. Group Booking, Honeymoon, bla bla) ??
2.Apartments (List-Site, same as result page after Search)
•Reservation module (same as on home)Checkin Date, Checkout Date, N° of Adults, N° of Bloody noisy kids
•12 Apartments (or list of found ones)
Name of Apartment, Photo, short text (50-100 words)
Additional Features:
•Should there be more detailed subpages about every apartment?
3.Location
•Photo Slider (3-5 Photos: Alameda, Puerto, C Larios, P. Constitución, Playa / Chringuito)
•Text about Location and Malaga
•Google Map
4.Contact
•Email Form
Name *
Email *
Phone
Subject (general question, special inquiry group booking) etc...
Message
•Address
•Phone Number(s)
5.FAQ / Questions ??
•How does reservation work?
•Are their any additional costs?
•How can I pay, after my reservation is confirmed? (paypal, bank transfer etc)
•I prefer to do my booking directly via booking.com. Is it possible?
•Can I book additional extras (beds for children etc)?
•to be completed....
Proceso de Reserva
1.Usuario clicka „Book/Reserve“
2.Nueva pagina se abre :
„Por favor rellene el siguiente formulario“
„Esto es solo una solicitud de reserva, que aun tiene que ser formalizada “
„Su solicitud va ha ser revisada inmediantamente por nuestro servicio de reserva via email“
3. En tres pasos el usuario va a ser preguntado por la siguiente informacion:
1. Numero de adultos y ninos
2. Dos calendarios con cheking date, checkout date (dias accesibles son verdes, los otros rojos) (si las fechas de consulta furon aceptadas la fechas dadas son preseleccionadas)
3. Informacion Personal
Nombre completo, email, calle, cp, ciudad, pais (opt. phone)
4. Despues de enviar el formulario:
- Se genera automaticamente un email al usuario („hemos recibido tu solicitud de reserve y se va a revisar inmediatamente“)
- Se genera automaticamente un email al administrador (con la informacion acerca de la solicitud de reserva)
3. Una nueva solicitud de reserve es anadida a la base de datos, con el estatus d ependiente“. Hasta que se proceda con el pago etc si no esta confirmado por el administrador la disponibilidad cambia a naranja, („posible reserva“). El estatus estara acotado por 48 h, despues seran borradas automaticamente.
5. El administrador se pone en contacto con el cliente via telefono o email, confirmando a rechazando la reserva y facilitando los medios de pago
6. Despues de haber relizado el pago, el administrador confirma la reserva en la base de datos y el estatus cambia a “no disponible” durante dicho periodo.
Para cumplir de una manera correcta la LOPD y la LSSI, la manera más sencilla de proteger los derechos de los usuarios, y ofrecer seguridad a éstos, hemos optado por la inserción en la página Web de un “Politica de Privacidad y protección de datos” en el que prorcionamos a los visitantes de nuestra página toda aquella información que consideramos relevante.
Este escrito es el siguiente:
POLITICA DE PRIVACIDAD Y PROTECCIÓN DE DATOS
De conformidad con lo dispuesto en la Ley Orgánica 15/1999 de Protección de Datos, los creadores del apartamentos de lujo “Veracruz”, informan que los datos personales facilitados a tra
vés de los formularios de esta Web o mediante mensajes de correo electrónico, serán incorporados en un fichero y serán tratados de manera automatizada. Mediante el envío de formularios existentes en estaWeb el remitente da su consentimiento para ser incluido en el mencionado fichero e igualmente presta su consentimiento para que dichos datos puedan ser cedidos a actividades relacionadas, con el fin de suministrarle la información solicitada.
La finalidad del fichero es servir como soporte de información.
CAPÍTULO 4: MANUAL DE USUARIO
CAPÍTULO 5: CONCLUSIONES Y LÍNEAS FUTURAS
CAPÍTULO 6: REFERENCIAS BIBLIOGRÁFICAS
Download documents (updates needed)
|
|
|