Бакалавърска програма Информатика Бакалавърска теза на тема Web базирана хотелска система за резервации Разработил : Александър Тодоров Факултетен Номер : F26193



страница7/10
Дата06.09.2016
Размер1.56 Mb.
#8377
ТипПрограма
1   2   3   4   5   6   7   8   9   10


Таблицата t_news_images
Таблицата ще съдържа всички снимки към въведените новини от администратора на сайта.


Поле

Тип

Описание

image_id

int(6) – autoincrement

Идентификатор на записа

image_name

varchar(36)

Запис с генерираното име на снимката

image_pos

text

Запис с позицията на снимката

image_news_id

int(6)

Идентификатор на таблицата с новините

image_tag

varchar(255)

Запис с алт тага на снимката

KEYS







PRIMARY

image_id




FK

image_news_id





Таблица t_staff
Тя ще съдържа данните за администратора на сайта.


Поле

Тип

Описание

staff_id

int(8) – autoincrement

Идентификатор на записа

staff_name

varchar(32)

Запис с името на администратора

staff_login

varchar(32)

Запис с потребителското име на администратора

staff_pass

varchar(32)

Запис с паролата на администратора криптирана с md5

access_level

int(3)

Запис на потребителското ниво на даденият администратор

KEYS







PRIMARY

staff_id





Таблица t_cart
В тази таблица ще се записват стойностите на направената поръчка преди да бъде направено разплащането по нея. Тя съдържа FK към стая – стай и към таблицата с клиенти.



Поле

Тип

Описание

cart_id

int(8) – autoincrement

Идентификатор на записа

session_name

varchar(255)

Запис на сесията на поръчващия

client_id

int(8)

Идентификатор на таблицата с клиенти

book_date

bigint(8)

Запис на поръчаните дати

book_price

decimal(9,2)

Запис на цялата цена на поръчката

rooms_id

int(8)

Идентификатор на таблицата с стайте

book_beds

int(3)

Запис на поръчаните легла

cart_date

bigint(8)

Запис на датата на поръчката

KEYS







PRIMARY

cart_id




FK

client_id




FK

rooms_id




Таблица t_orders
В тази таблица ще се записват всички платени поръчки. Таблицата ще има връзка чрез FK с таблиците за клиенти, стаи и хотели.


Поле

Тип

Описание

orders_id

int(8) – autoincrement

Идентификатор на записа

client_id

varchar(255)

Идентификатор на таблицата с клиенти

hostels_id

int(8)

Идентификатор на таблицата с хотели

book_date

bigint(8)

Запис на поръчаните дати

book_price

decimal(9,2)

Запис на цялата цена на поръчката

rooms_id

int(8)

Идентификатор на таблицата с стайте

book_beds

int(3)

Запис на поръчаните легла

order_status

bigint(8)

Запис на статуса на поръчката 1 – изчакваща 0 – за приета

order_date

bigint(8)

Запис на датата на която е направена поръчката

KEYS







PRIMARY

orders_id




FK

client_id




FK

rooms_id




FK

hostels_id




5.2.3. Схема на таблиците и връзките между тях
Фигура 2 Схема на базата от данни
За създаването на базата от данни ще използваме готов framework – phpmyadmin, които се предлага от всяка една hosting компания за по лесно боравене с базата от данни.

За вземане на информацията от само една таблица, която не е свързани чрез fk с друга таблица ще ползваме прости заявки като:

SELECT „ колони” FROM „ таблица” WHERE “условие ”

За вземане на информация от повече от една таблица ще използваме SELECT заявка със съединение като: INER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN

За вземане на необходима информация като максимални и минимални стойности на цени за стая, брой легла и др. ще използваме агрегатни функции като MAX() и MIN(), COUNT(), SUM()

За извеждане на информацията по определен критерии на търсене, ще използваме функции за групиране и сортиране като: GROUP BY и ORDER BY

За обновяване на таблиците ще използваме заявки за обновяване на базата като: INSERT, UPDATE и DELETE



5.3. Програмна реализация
При разработването на информационната система ще използваме .php, .css, .swf, .js файлове.

Реализирането на динамиката на сайта ще се осъществи от php файловете чрез програмният език PHP. Програмият код ще бъде поставен в рамките на HTML документи, които ще съдържат дизайна на сайта. PHP кода ще използваме за да генерираме заявки към базата от данни и да визуализираме техните върнати стойности, форматирани чрез езика и визуализирани в HTML документа. Ще използваме функционалността на езика за изпращане на emails към клиентите. Чрез програмният език ще можем да въвеждаме, изтриваме и редактираме информацията в базата от данни, ще можем да генерираме динамични страници с определени подадени параметри от потребител или клиент. Чрез php ще осъществяваме сигурността при изпращането на клиентските данни до обслужващатата ни банка.

За добрият изглед на системата, ще използваме CSS езика, които ще се записва в .css файлове. Чрез него ще можем да правим промени по дизайна на сайта без да се налага да се променя неговата функционалност.

За по доброто функциониране на някои обекти в сайта като падащи менюта, текстови редактори и др. ще използваме JavaScript, чрез него ще извършваме действия без да се налага презареждане на страницата. Ще го използваме за динамичното превключване на падащите менюта при избор на държава и град. Неговата функционалност ще приложим към стартирането на Flash картата която е поставена във всяка една страница.



.js файловете са използвани за по-добрата функционалност на приложението, най-вече за текстовият редактор през които се вкарва текст за front – end страниците и за автоматично стартиране на flash приложенията.
5.3.1. Реализация на транзакцията за разплащане
Реализирането на разплащането, се осъществява чрез програмният език които прави SELECT заявка към базата от данни. Върнатите данни обработваме чрез PHP и генерираме XML документ които спазва изискванията на HSBC банката. Чрез отваряне на SSL канал изпращаме XML документа към банковият сървър. Изпращането осъществяваме чрез curl PHP библиотека, с която чрез метод POST и HTTPS трансфер изпращаме XML документа. Обработката на клиентските данни от банковият сървър стават моментално, затова докато е отворен SSL канала банковият сървър трябва да ни върне XML документ с отговора на плащането, дали то е осъществено или не. Цялата транзакция между двата сървъра е криптирана посредством 64 битов ключ. В последствие върнатият ни XML документ, ние разчетаме чрез PHP и върщаме отговор на поръчващият. Цялото реализиране на разплащателната транзакция се осъществява за няколко милисекунди.
5.3.2. Част от по - важните разработени файлове
Таблица 1 разработени файлове



Файл

Кратко описание

config.php

Конфигурационен файл за администраторския панел, в него се съдържат всички настройки, като: връзката с базата от данни, настройка на mailera, извикване на класове и други.

config_clients.php

Конфигурационен файл за клиентският панел, неговата функционалност е същата като в предишният файл с разликата, че настройките са за клиентският панел.

config_hostels.php

Конфигурационен файл за хотелският панел, неговата функционалност е същата като в предишният файл с разликата, че настройките са за хотелският панел.

hostel_login.php

Показа мястото за влизане в хотелският панел, влизането става с username и парола.

client_login.php

Показа мястото за влизане в клиентският панел, влизането става с username и парола.

hostel_logout.php

Функционалността на този файл е да премахва сесията която се е създала при влизането в хотелският панел.

client_logоut.php

Функционалността на този файл е да премахва сесията която се е създала при влизането в клиентският панел.

classes/auth.php

Този файл съдържа клас, който се грижи за правата на влезналите администратори. Като създава сесия при правилно влизане в панела и я пази до прекратяването на тази сесия или излизане от панела чрез logout файл.

classes/hostel_auth.php

Този файл съдържа клас който се грижи за правата на влезналите в хотелският панел. Като създава сесия при правилно влизане в панела и я пази до прекратяването на тази сесия или излизане от панела чрез logout файл.

classes/client_auth.php

Този файл съдържа клас който се грижи за правата на влезналите в хотелският панел. Като създава сесия при правилно влизане в панела и я пази до прекратяването на тази сесия или излизане от панела чрез logout файл.

classes/func.php

В този файл се пазят функции като пагинация, проверка на валидност на e-mail, и други.

classes/class_phpmailer.php

Тук се съдържа клас чрез които изпращаме e-mail.

classes/class_phpmailer.php

В този файл е поместен клас, които ни е нужен за пълненето на select менютата в най – горната част на страницата.

_header.php

Този файл съдържа хедъра на страницата, и понеже той е почти един и същ навсякъде този файл се извиква във всеки друг файл.

_footer.php

Този файл е същият като предишният, но в него се съдържа футера на страницата.

_menu.php

Този файл е същият като предишният, но в него се съдържа менюто на страницата.

about_us.php

Този файл показа страница За нас която генерира информация за клиента която е въведена от административното меню.

body.css

Това е файл които съдържа цялата функционалност като дизайн на сайта. Чрез него могат да се променят всички страници, без да се пипа функционалността.

hostel_singup.php

Този файл съдържа функционалността за регистриране на хотел.

search.php

Този файл показва всички намерени хотели при търсене от падащите менюта, т.е. избор по държава и континент

map.swf

Този файл съдържа анимацията за картата.

rooms.php

Този файл показва всички цени и свободни дати за всички стай на хотела. Които са попълнени от хотелският администратор. Файлът съдържа и функционалността да се добавят нови стай и да се търси из календара.

edit_table.php

Показва информацията за избрана таблица, избран запис за редактиране.

hostel_inside.php

Функционалността на този файл е да показа пълната информация за даден хотел, като рейтинг, локация, снимки и други.

index.php

Зарежда първата страница на системата, с връзките към другите страници.

help.php

Тези страница съдържа помощна информация за клиента, която е вкарана от администратор.

direction.php

Тази страница визуализира карта на местонахождението на даденият хотел, ако хотелски администратор я е вкарал от хотелският панел.

comment.php

Чрез тази страница всеки един клиент може да добави коментар, за даден хотел.

contact_us.php

Този файл съдържа контакт форма.

group.php

Този файл съдържа специализирана форма за контакти, за групи.

edit_hostel.php

Чрез тази страница всеки един хотел може да си редактира информацията.

edit_client.php

Чрез тази страница всеки един клиент може да си редактира информацията.

add_hostel.php

Този файл съдържа функционалността всеки един администратор на хотел да добави колкото си иска на брой хотели, които да си администрира.

all_pictures.php

С този файл се визуализира галерията на даден хотел.

book.php

Този файл проверява наличността на даден хотел за свободни стай.

confirm_book.php

Този файл показва поръчаната стая и съдържа формата за регистрация на клиента с неговите данни за разплащане.

client_details.php

На този функционалността е да покаже вече въведените данни на клиента и подканва клиента за потвърждение.

client_details_confirm.php

Този файл генерира нужния xml свързва се с сървъра на банката и изпраща данните. Като чака отговор от банката.

client_details_print.php

Този файл генерира фактура с данните на клиента, който е платил за даденият хотел. И се праща на същият хотел.

hostel_details_print.php

Същото като горният файл но се генерират данните на хотела, и се пращат на клиента.

continent_inside.php

Страница която съдържа информация за даденият континент.

country_inside.php

Страница която съдържа информация за дадената страна.

town_inside.php

Страница която съдържа информация за даденият град.

sitemap.php

Показва всички връзки на сайта.

thumbnail.php

Съдържа клас който генерира по – малка картинка на реалната.

view_availabiliti.php

Показва свободността на дадена стая.

view_hostels_order.php

Показа всички поръчки към даденият хотел, когато си влезнал през хотелският панел.

view_client_order.php

Показа всички поръчки на даденият клиент, когато си влезнал през клиентският панел.

Thanks.php

Страница която генерира благодарствен текст към клиента, който е вкаран от администратор.

admin/add_continent.php

Този файл има функционалността да добавя континент през администраторският панел.

admin/add_county.php

Този файл има функционалността да добавя страна през администраторският панел.

admin/del_continent.php

Този файл има функционалността да изтрива континент през администраторският панел.

admin/del_county.php

Този файл има функционалността да изтрива страна през администраторският панел.

admin/add_text.php

Този файл има функционалността да добавя текст към страниците през администраторският панел.

admin/del_text.php

Този файл има функционалността да изтрива текст към страниците през администраторският панел.

admin/add_reitings.php

Този файл има функционалността да се добавят рейтинги към даден хотел.

admin/add_users.php

Този файл има функционалността да се добавят потребител който да притежава хотел и да има право да влиза в своят хотелски панел.

admin/del_users.php

Този файл има функционалността да се изтрива потребител който да притежава хотел.

admin/view_users.php

Показва всички хотелски потребители.

admin/view_hostels.php

Показва всички хотели.

admin/view_orders.php

Показва всички хотелски поръчки и техните статуси платени или отказани.

admin/view_news.php

Показва всички добавени новини.

admin/add_news.php

Добавя новина.

admin/del_news.php

Изтрива новина от адмистраторският панел.

admin/view_contacts.php

Показва всичката информация дошла от контактната форма.

admin/view_newsletters.php

Показва всички newsletters който са създадени и изпратени.

admin/add_newsletter.php

Добавя нюслеттер който е готов за изпращане.

admin/send_newsletter.php

Изпраща нюслетера на всички хотелски клиенти който са добавени.

admin/view_rooms_types.php

Показва всички въведени видове хотелски стай.

admin/up_hotels_images.php

Сменя положението на дадена снимка нагоре в подредбата.

По – голямата част от тези файлове имат еднаква функционалност с различно приложение.



Сподели с приятели:
1   2   3   4   5   6   7   8   9   10




©obuch.info 2024
отнасят до администрацията

    Начална страница