Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ilya-murzinov/hotel-booking
Hotel booking web application based on JSF, Spring, Hibernate, PrimeFaces
https://github.com/ilya-murzinov/hotel-booking
Last synced: about 4 hours ago
JSON representation
Hotel booking web application based on JSF, Spring, Hibernate, PrimeFaces
- Host: GitHub
- URL: https://github.com/ilya-murzinov/hotel-booking
- Owner: ilya-murzinov
- License: mit
- Created: 2014-06-17T18:29:18.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-12-02T19:09:32.000Z (almost 10 years ago)
- Last Synced: 2023-04-02T13:41:28.891Z (over 1 year ago)
- Language: Java
- Homepage:
- Size: 387 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
hotel-booking
=============##Общее описание##
**Система бронирования отелей.**
Использованные технологии: Maven, Spring, Spring Security, Hibernate, JSF,
PrettyFaces, PrimeFaces, GMaps4JSF, Jetty, MySQL.##Запуск##
Для запуска необходимо выполнить [скрипт инициализации БД](src/main/resources/database.sql) (MySQL).
Затем запусть сборку и деплой: **mvn jetty:run**
##Основная функциональность##
Реализованы 4 основные веб-формы и 2 вспомогательные:
- Просмотр списка отелей (список упорядочен по количеству комментариев на странице отеля,
есть возможность поиска по названию отеля, возможность посмотреть статистику по комментариям);
- Просмотр подробной информации об отеле (просмотр подробных сведений об отеле,
карты с расположением отеля, редактирование, удаление отеля, добавление и удаление комментариев,
бронирование отеля);
- Формы добавления и редактирования отеля (практически идентичные);
- Форма авторизации;
- Форма просмотра статистики.
##Роли пользователей##Администратор (ROLE_ADMIN): имеет возможность просматривать, добавлять, удалять, редактировать отели,
а также удалять любые комментарии к отелям. Тестовые логин/пароль - admin/adminПользователь (ROLE_USER): имеет возможность просматривать отели, добавлять комментарии
и удалять только свои комментарии. Тестовые логин/пароль - user/userАнонимный пользователь (ROLE_ANONYMOUS): имеет возможность просматривать отели, добавлять комментарии.
##Описание форм##
###Форма просмотра списка отелей###
Форма представляет собой динамически подгружаемый список отелей с информацией о цене за ночь, месторасположении, телефоне (реализовано с помощью primefaces:dataScroller с ограничением 10 записей). На форме присутствует возможность поиска отеля по названию, при этом список обновляется с помощью PrimeFaces AJAX. По клику на элементе списка открывается форма просмотра информации о данном отеле.
На форме присутствует кнопка **"Добавить отель"**, доступная только администратору. По клику на эту кнопку открывается форма добавления нового отеля с пустыми полями ввода.
Также присутствует кнопка **"Посмотреть статистику"**, по клику на которую открывается форма с диаграммой распределения комментариев по отелям.
Кроме того, в шапке формы есть кнопка **"Войти"** для авторизации.
###Форма просмотра подробной информации об отеле###
Форма представляет из себя шапку, аналогичную шапке формы просмотра списка отелей и 2 панели - информация об отеле и комментарии.
В панели **информации об отеле** выводится только одно дополнительное поле, которе не присутствует в форме просмотра списка отелей, - "Описание", оно содержит общую информацию об отеле. Здесь же представлены кнопки **"Забронировать отель"** (доступна всем), **"Редактировать"** и **"Удалить"** (последние 2 доступны только администратору). По клику на кнопку **"Забронировать отель"** открывается модальный диалог с просьбой предоставить контактные данные (на самом деле он ничего не делает). По клику на кнопку **"Редактировать"** открывается форма редактирования отеля, поля ввода которой заполнены текущими данными об отеле. По кнопке **"Удалить"** отель удаляется из базы и происходит переход на форму просмотра списка отелей.
В панели **комментариев** выводится список комментариев к данному отелю с указанием автора и ссылки для удаления комментария, а также форма добавления комментариев. Доступность элементов этой панели зависит от роли пользователя:
- Администратор - доступны ссылки для удаления любого комментария;
- Пользователь - доступны ссылки для удаления своих комментариев (проверка имя пользователя == автор комментария);
- Анонимный пользователь - недоступны ссылки для удаления комментариев.Если пользователь авторизован (т.е. не анонимный), то поле **"Автор"** на форме добавления комментария автоматически заполниется именем пользователя и недоступно для редактирования, иначе - поле пустое и доступно для редактирования. Оба поля на форме добавления комментария являются обязательными.
###Форма добавления/редактирования отеля###
Формы представляют из себя список полей ввода - "Название", "Адрес", "Телефон", "Цена за ночь", "Описание". Все поля, кроме "Описания", являются обязательными. На поле "Цена за ночь" наложена дополнительная валидация - туда можно ввести только цифры.
Также на формах присутствуют кнопки для сохранения и отмены изменений.