Skip to content

koredalin/shopcoords

Repository files navigation

Търсене на магазини от Христо Христов

Здравейте, Казвам се Христо Христов и това е тестовата ми задача за кандидатстване за работа в webest.bg.

Техническа спецификация

Цели на проекта

Да се изчисляват по зададени координати и радиус - броя магазини в района.

Използвах фреймуърк Symfony v2.3.

Фреймърка инсталирах през Netbeans. Използвах jQuery, AJAX с JSON заявки и CSS. За попълването и създаването на таблиците в базата данни използвах - Doctrine. Въвеждането на MySQL функцията извърших през конзолата, а SELECT заявката - с чиста PDO конекция. Използвах контролерите на entity-та за лист на целите таблици, с използването на сървиси. Js и css файловете инклуднах с assets. Написах и един тестов файл (MyCalculatorTest.php). За съжаление - за момента нямам платен хостин и не можах да кача проекта в интернет.

Относно MySQL

Чрез mysql функция изчислявам дистанцията според координатите на клиента за всеки магазин. Функцията се записва еднократно в mysql сървъра и след това това се извиква с обикновена SELSCT заявка. Единственото нещо което смята php в крайна сметка е да отдели кои магазини са с дистанция по-малка от радиуса.

Представям ви кода на функцията:

```mysql
mysql> DELIMITER $$ 
> CREATE FUNCTION calcDistance(longitude INT, latitude INT, 
> cl_lon INT, cl_lat INT) RETURNS DECIMAL(9,2) 
> BEGIN 
> DECLARE distance DECIMAL(9,2); 
> SET distance = SQRT(ABS(cl_lon - longitude) * ABS(cl_lon - longitude) + 
> ABS(cl_lat - latitude) * ABS(cl_lat - latitude)); 
> RETURN distance; 
> END$$ 
> DELIMITER;
```

и заявката:

```mysql
mysql> SELECT *, calcDistance(`longitude`, `latitude`, 
> 100000, 100000) AS distance 
> FROM `Shop` 
> WHERE distance < 200;
```

За мен и Symfony

Смея да твърдя, че за пет дни се запознах с принципите на програмиране със Symfony. Това е доста сложен и упорит фреймуърк. И много боли като прекалиш с конзолните команди :–(. Всяко ново начало е учене и приключение. Радвам се, че трудът ми се оценява от все повече хора.

И накрая - искам да благодаря на екипа на webest.bg - за гласуваното ми доверие!

Всеки може да използва кода - както му харесва.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published