-
Notifications
You must be signed in to change notification settings - Fork 1
AndreyYermolenko/TravelAgencyApp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Веб-приложение TravelAgencyApp предлагает базовый набор функционала для туристической фирмы. Пользователь перейдя по URI: localhost:7001/ попадает на страницу авторизации в приложении. Если у пользователя нет аккаунта, он может зарегистрировать его нажав на ссылку "Регистрация". После авторизации пользователь попадёт на страницу быстрого поиска туристических туров. С этой страницы он может навигироваться по сайту, используя гиперссылки. Приложение поддерживает 2 роли: manager и user. UI и функционал для разных ролей отличается. В файле testdata.sql находятся тестовые данные для заполнения БД. В файле database.sql находятся SQL запросы для создания БД. Таблицы в БД создаются автоматически при первом запуске проекта! Manager может: +использовать быстрый (с помощью Ajax) или расширенный поиск туров; +добавлять/редактировать/удалять туристические туры; +просматривать данные о пользователях оформивших тур; User может: +использовать быстрый (с помощью Ajax) или расширенный поиск туров; +бронировать туры; +просматривать список забронированных им туров; Использованные в проекте технологии (будет дополняться): +Spring MVC; +Spring Security; +WebLogic/TomCat; +PostgreSQL; +JDBC; +HTML, CSS, JS; +Ajax; +JSP; +log4j; +JavaDocs; +Таблицы в БД приведены к 3 нормальной форме; +Liquibase plugin для создания таблиц в БД при первой сборке проекта; +3 уровня валидации данных при регистрации нового пользователя: *на стороне клиента (с помощью JS); *на стороне сервера (защита от вмешательства в исходный код страницы); *обращение в БД для проверки уникальности введенного email; *** *** *** *** *** *** *** *** *** *** *** *** *** Работа с API: Добавить header - Content-Type:application/json 1. Регистрация пользователя. В RequestBody добавить данные о новом пользователе, например: { "email": "[email protected]", "password": "root", "firstName": "Andrey", "lastName": "Yermolenko", "agencyBranchId": "1" } Отправить POST запрос на http://localhost:7001/api/sign_up 2. Авторизация (получение токена). В RequestBody добавить данные о пользователе, например: { "email": "[email protected]", "password": "root" } Отправить POST запрос на http://localhost:7001/api/login 3. Получение списка отделений турагенства. Отправить GET запрос на http://localhost:7001/api/agencyBranch 4. Получение списка курортов. Отправить GET запрос на http://localhost:7001/api/resort 5. Получение списка перевозчиков. Отправить GET запрос на http://localhost:7001/api/carrier 6. Получить все туристические туры, которые удовлетворяют параметрам поиска. В зависимости от роли пользователя данные о турах будут отличаться (менеджеру доступно больше данных). В RequestBody добавить данные о туре. Каких-то параметров может не быть в запросе, например: { "destination": "Egypt", "beginDate": "2020-03-30", "endDate": "2020-09-30", "minCost": "900", "maxCost": "2500", "sortedBy": "cost", "desc": "false" } ИЛИ { "destination": "Egypt" } Добавить в RequestParameters: token = ${tokenValue} Отправить POST запрос на http://localhost:7001/api/tours 7. Забронировать тур (для обычного пользователя). Отправить GET запрос на http://localhost:7001/api/reservationTour Добавить в RequestParameters токен пользователя и ID тура: token = ${tokenValue} id=${idValue} 8.Получение зарезервированных туров для текущего пользователя (для пользователя). Отправить GET запрос на http://localhost:7001/api/reservedTours Добавить в RequestParameters токен пользоватя: token = ${tokenValue} 9. Обновить тур (для менеджера). В RequestBody добавить данные о туре. Все поля обязательны к заполнению. Например: { "destination": "Turkey", "beginDate": "2020-08-15", "endDate": "2020-08-20", "cost": "2000", "maxCount": "12", "description": "Turkey tour (update)", "travelCarrierId": "1", "resortId": "2" } Добавить в RequestParameters токен менеджера и ID тура: token = ${tokenValue} id=${idValue} Отправить POST запрос на http://localhost:7001/api/updateTour 10. Удалить тур (для менеджера). Отправить GET запрос на http://localhost:7001/api/deleteTour Добавить в RequestParameters токен менеджера и ID тура: token = ${tokenValue} id=${idValue} 11. Добавить тур (для менеджера). В RequestBody добавить данные о туре. Все поля обязательны к заполнению. Например: { "destination": "Turkey New", "beginDate": "2020-08-15", "endDate": "2020-08-20", "cost": "2000", "maxCount": "12", "description": "Turkey tour", "travelCarrierId": "1", "resortId": "2" } Добавить в RequestParameters токен менеджера: token = ${tokenValue} Отправить POST запрос на http://localhost:7001/api/addTour 12.Получение списка пользователей для тура (для менеджера). Отправить GET запрос на http://localhost:7001/api/listOfReservedTourUsers Добавить в RequestParameters токен менеджера и ID тура: token = ${tokenValue} id=${idValue}
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published