hh-runner's Introduction
Тестовое задание для разработчика Задача: Пусть в г. Санкт-Петербург имеется 5 пунктов выдачи с заданными географическими координатами. имя широта долгота 1 Альдераан 59.9573 30.3485 2 Беспин 60.0025 30.3113 3 Дагоба 59.9485 30.3857 4 Корусант 59.9894 30.2587 5 Мустафар 59.8836 30.3575 Требуется создать веб-сервис, который предлагает пользователю ввести его ФИО, телефон и адрес, и по введенному адресу определяет ближайший пункт выдачи и расстояние до него. Пользователю выводится его имя, форматированный телефон и информация о пункте выдачи. Файлы в архиве: Toolkit.php - вспомогатльный класс, содержащий метод для форматирования номера телефона, а также метод для опеределения географических координат введенного адреса. CandidateAbstract.php - абстрактный класс. ajax.php - файл для AJAX-запроса. Требуется создать файл Candidate.php и объявить в нем класс Candidate, который будет наследовать CandidateAbstract. Также требуется создать файл, в котором будет находится форма ввода ФИО, телефона, адреса, а также кнопка, при нажатии на которую запускается процесс определения ближайшего пункта выдачи. После успешного выполнения определения ближайшего пункта в div на странице должен выводится результат в виде "[ФИО] ([форматированный телефон]): ближайший пункт выдачи [название пункта] находится на расстоянии [расстояние до пункта]км" Предполагаемая последовательность процессов: 1) Пользователь заходит на страницу и видит поля для ввода ФИО, телефона, адреса, а также кнопку "Найти пункт выдачи" 2) Пользователь вводит данные и нажимает на кнопку. Необходимо произвести валидацию введенных данных. Если поля ФИО, телефон и адрес заполнены корректно, средствами javascript отправляется AJAX-запрос, обрабатываемый файлом ajax.php 3) ajax.php создает экземпляр класса Candidate и передеает управление методу run 4) Методы класса Candidate обрабатывают полученные данные и определяют название ближайшего пункта выдачи и расстояние до него 5) Полученные результаты добавляются в ответ AJAX-запроса и средствами javascript выводятся в div на странице Требования: 1) Информация о пунктах выдачи хранится исключительно в базе данных 2) Изменять содержимое исходных файлов запрещено 3) Отправка и обработка AJAX-запроса, а также вывод результатов в div должны производится средствами "чистого" javascript (библиотеку jQuery не использовать) 4) Расстояние выводится в километрах с округлением до 1 знака после запятой
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.