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

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

...част 1...

Приложение за резервации на маси в ресторант



Беше началото на март 2020 година, когато започна коронавирус карантината. Много затегнати мерки, социална изолация, ограничено излизане, посещение на социални места и т.н.

Общо взето време на социална изолация, в която всеки, който бе намерил занимание, с което да се разсейва, бе добре дошло за него.

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

Е, чудих се около седмица с каква тема да се захвана и ми хрумна идеята - Онлайн система за резервация на маси в ресторант. Определено бяхме във време, в което ресторантите бяха затворили, но все пак това е бизнес, който винаги ще съществува и работи. 

Трябваше да се поставя в реална ситуация и да преценя с какво ще помогне на хората моето приложение и се замислих се над следните неща:

  1. Случвало ли ви се е да искате да резервирате маса за вечеря с половинката ви, или пък за рождения ден на детето и да се налага да звъните в някой ресторант, да чакате дълго да ви приемат обаждането, а в някои ситуации и просто да не го приемат, в случай, че приемането им например се върши от сервитьора или сервитьорката.
  2. Може да сте попадали и на ситуацията, в която просто не обичате толкова комуникацията по телефона, но единствената опция е да се обадите, за да резервирате. 

И отговорът ми бе простичък:

Е, с това приложение всички тези притеснения и неудобства приключват!

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

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

До този момент, единственото уеб приложение, което бях правил, бе дипломната ми работа, за която може да прочетете на този линк:
Бях научил полезни неща, но определено бях едва в началото и исках да надградя още повече знанията си

Тъй като бях работил със SQL Server, реших и технологиите за уеб приложението да бъдат Microsoft-базирани, затова избрах MVC проект, със C# за сървърната част. Така комуникацията бива по-добра и лесна, а и C# ми представляваше интерес. А за клиентската част избрах добре познатите ни HTML, CSS, JavaScript езици за програмиране.

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

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

Всичко вървеше добре, имаше дни, в които имах и трудности, разбира се, но няма как без тези неща. Четях по форуми, различни документации, както и полезни статии, в които бяха обяснени неща, които не знаех как да направя. 

Разбира се, най-лесно беше да правя всичко по старо му със знанията, които имам, но исках да науча нови, затова и рових Интернет и откривах това, което ми бе нужно.

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

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

Дойдоха и дните, в които всичко вървеше към края, все по-малко задачи оставаха за завършване и крайния резултат бе на лице.

Определено бях доволен. Всичко това - направено от мен - наслада и удоволствие. Завърших една малка цел, която ми донесе много нови знания, а и ме разсея от коронавирус изолацията.

За завършването на проекта ми бяха нужни около 3 седмици, като не работих по цял ден

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

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

А за най-любопитните - може да прегледате видеото, което е в края на статията, което показва функциониращото приложение

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




--==== Спецификации на приложението ====--



  • Приложението предлага responsive дизайн, в който лесно може да се ориентирате.
  • Налична е възможност за превод на различни езици.
  • Може да бъде настройван за различни ресторанти, т.е. има предварителни настройки, които се въвеждат в базата данни, и след това сайтът функционира спрямо тях. 
    • Също така всичкия текст по сайта(като имена, работни часове, заглавия на частта с меню и т.н.), който може да видите във видеото се настройва в базата данни за всеки ресторант и лесно може да бъде променян в реално време.
  • При създаване на Резервацията се проверява наличност в ресторанта - така няма да се позволи някой да запази маса, ако ресторантът ви е зает в определена дата и час.
  • Потвърждение чрез e-mail. Няма нужда от телефонни разговори.


В приложението ще намерите следните компоненти:

Меню с ястия

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

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

Резервация

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

В момента, в който направите резервацията си, получавате мейл за успешно направена заявка, а в най-близко време ( което зависи от ресторанта ) ще получите и мейл с потвърждение на резервацията или допълнителни уточнения, ако има нужда от такива.

Смяна на езика

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



Част 2, може да прочетете в посочения линк, в който ще откриете информация за административната част на приложението:



Тук може да видите видеото, което показва как функционира приложението:



...Няма нищо по-добро от инвестицията в себе си...

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

Коментари

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

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

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