Restaurant Booking Admin Panel | Мои Проекти

Време под карантина - защо да не разработя мое уеб приложение и да науча полезни неща?

...част 2...

Администраторска част



Това е продължение на част 1, която може да прочетете тук - Restaurant Online Booking Web Application.

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

След като направих онлайн приложението се запитах - Добре, клиентите могат да запазват маси вече, но трябва някой да обработва резервациите?

И тогава реших да направя Администраторската част на приложението
Отново се замислих какви функционалности биха били полезни на персонала, за да може удобно и лесно да обработва резервациите си. Стигнах до следния извод:
  • Логин страница, през която да се вписват потребителите, за да може да е защитена информацията им и да не може всеки да се вписва в системата.
  • Начална страница, в която да се зареждат основни статистически данни от текущия месец - за бизнес анализ на случващото се в последния месец.
  • Секция, в която да се виждат всички нови резервации в хронологичен ред.
  • Търсачка, която да може да търси в резервациите по зададени критерии.
  • Страница, в която да се вижда подробна информация за резервацията, както и списък със всички резервации в конкретната дата и час, за да може операторът да може по-лесно да преценя дали да потвърди резервацията.
  • Архив на резервациите, в която да може да се преглеждат всички потвърдени резервации.
  • Панел с настройки на приложението - като брой маси, капацитет на ресторанта, работни часове и др.
  • Административна секция, в която да може да се създават потребители, потребителски роли, както и да се задават правата на потребителите
  • И не на последно място секция със статистики, които да помагат на анализа на бизнеса.
Записах всичките си идеи и ги планирах една по една за изпълнение.

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

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

Има възможност и за възстановяване на паролата, като се посочи email на клиента, на който се изпраща верификационен код, който отново изтича след определено време. Само чрез него паролата може да бъде сменена. За сигурност е направено потребителят да НЕ може да смени паролата си със предишната, т.е. трябва да въведе изцяло нова такава.

След като логин страницата бе готова, започнах с частта, в която се виждат резервациите. Избрах зареждането да бъде от тип lazy loading, за разлика от странициране, тъй като смятам, че е по-удобно скролвайки надолу по страницата, автоматично да се зареждат нови и нови записи. 

Разработих и търсачката, като поставих различни удобни филтри.

След това започнах със страницата, от която се потвърждават резервациите. Там операторът може да види всичко за резервацията, да се свърже с клиента, ако иска. Реших, че е добре да се вижда списък със всички направени резервации, спрямо датата на текущия, за да може операторът лесно да прецени дали има свободни места в ресторанта, вместо да се налага да прави ръчно справка като търси, което би отнело повече време.

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

Добре! Резервациите приключиха, ами сега? Време е за малко настройки на приложението и административна част - за да е още по-удобно на операторите!

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

Със завършването на този панел, разработих и административен такъв, в който да може да се създават нови потребители, нови потребителски роли, чрез които да се задават права за приложението. Редакция и изтриване също са налични. По този начин операторът би могъл да създава различни потребители и да им дава достъп до каквото прецени. Например човек, който е отговорен само за потвърждаване на резервациите, няма смисъл да има достъп до частта, в която се създават потребители или се променят права на приложението.

И не на последно място, сметнах за голямо удобство статистическата част, в която разработих няколко типа графики, като: 
  • брой резервации за месец, 
  • брой резервации на ден, 
  • брой заети места по ден 
  • и др
Чрез тях може да се прави бизнес анализ на резервациите и посещаемостта на ресторантите

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

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

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

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

След като всичко от плана бе готово, дойде време и за тест

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

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

Приятно гледане!





...Усърдните усилия дават винаги резултати...

Инж. Р. Батинов

Коментари

Популярни публикации от този блог

Как написах бакалавърската си дипломната работа и защитих с отличие? Съвети, образец за документацията | ТУ-София - филиал Пловдив | ФЕА | КСТ

Restaurant Online Booking Web Application | Мои Проекти