Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
250 $

Доработка проекта на Laravel 5.1

project complete


Проект - портал.
Бизнес-модель - подобно фрилансхаунту, но со своими особенностями.
Завершен на 80%.

Доделать нужно:

  • Сменить базу данных с MySQL на Postgress.
  • Добавить в таблицу пользователя следующие поля: summary_opened_deals, location_id, invoice, bonus_count.
  • Добавить таблицу locations со следующими полями: id, google_id, place_id, vicinity, street_number, route, locality, administrative_area_level_1, administrative_area_level_2, full_string (пример ответа от сервера гугл приложен к данной странице).
  • full_string - значение с input id="autocomplete", пример и документация по данному АПИ
    https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform 
  • Изменить регистрационную форму, добавив в нее следующие поля:
    <div id="locationField"> <input id="autocomplete" placeholder="Enter your address"  onFocus="geolocate()" type="text"/> </div> <div id="address" style="display:none;"> <div class="form-group"><input type="text" id="google_id" disabled="disabled"/></div> <div class="form-group"><input type="text" id="place_id" disabled="disabled"/></div> <div class="form-group"><input type="text" id="vicinity" disabled="disabled"/></div> <div class="form-group"><input type="text" id="street_number" disabled="disabled"/></div> <div class="form-group"><input type="text" id="route" disabled="disabled"/></div> <div class="form-group"><input type="text" id="locality" disabled="disabled"/></div> <div class="form-group"><input type="text" id="administrative_area_level_1" disabled="disabled"/></div> <div class="form-group"><input type="text" id="administrative_area_level_2" disabled="disabled"/></div> <div class="form-group"><input type="text" id="country" disabled="disabled"/></div> </div>

Во время регистрации мы записываем в БД данные о местоположении в таблицу locations, о пользователе - в таблицу user, делая отметку об id местоположения пользователя

  • В таблицу создания задачи добавляем следующие поля: id местоположения и administrative_area_level_2. При том, что последнее является дублированием, это сэкономит ресурсы железа в будущем, поскольку по этому параметру будут отбираться выводимые на главную страницу. (Подозреваю, что нам придется записывать не просто параметр administrative_area_level_2, а еще и вытаскивать его айди).

При наведении на маркер АПИ предоставляет возможность выводить подсказку о том, что это за место. В нашем случае это должно быть название события со ссылкой на страницу с его описанием.

  • В форму создания задачи добавляем поля местоположения, аналогично, как и при регистрации. Дополнительно добавляем значение в поле administrative_area_level_2.
  • Выводим массив маркеров на главную страницу на карту по открытых сделках.

https://developers.google.com/maps/documentation/javascript/examples/place-search - документация по данному АПИ.

  • На странице /board выведены задачи. Сделать пагинацию по 10 штук на страницу и возможность фильтровать их по определенным параметрам. Вильтр уже сверстан, остается только его подключить. Поле местоположение - фильтр по городу максимум.
  • Аналогичным образом как и с /board, вывести альбомы на /gallery и исполнителей на /executants с возможностью фильтрования и пагинацией. Страницы альбомов нужно прописать в роуты, чтобы можно было быстро сверстать статику.
  • На ресурсе ведется лог.

Структура:

2 таблицы - events - в которой описаны названия событий и logs - куда собственно все пишется. Таблицу events нужно будет расширить, добавив поля с переводами в мультиязыность, хотя уже есть какое то приспособление для переводов с БД, я покопаюсь в переписке, восстановлю. Перечень событий будет описан отдельно и ссылка будет добавлена сюда.

Принцип логгирования

В момент каждого события мы записываем user_id, event_id, timestamp (нужно обязательно добавить IP и по возможности browser, OS, которые приходят в запросе).

Более детально после заключения сделки. Я предоставлю доступ к Wiki проекта, где описана бизнес-логика, открою доступ на битбакет. Дизайн купленный, все нужные элементы, классы ошибок, нотификации и прочие дополнения есть. Для удобства предлагаю работать с использованием Redmine .

Client's feedback about the contractor Романе К.

Quality
Professionalism
Price
Availability
Terms

Я остался доволен качеством выполнения работы и подходом, были несущественные заминки в процессе, но на результат влияния они не оказали. В общем работа выполнена хорошо, некоторый мелочи, которые всплывали по ходу дела, были выполнены в процессе как бонус.
Спасибо.

Александр С. Александр Сидоренко | Safe Safe

Freelancer's feedback about the client Александре Сидоренко

Payment
Task formulation
Requirements
Availability

Адекватный заказчик. Очень подробно поставлены цели и задачи. Заказчик всегда на связи.

Роман Кутенко Роман К. | Safe Safe



  1. proposal concealed by freelancer
  2. 15 days250 $Winning proposal
    Роман К.
     670  verified   3  0

    Добрый день. Меня зовут Роман. Опыт работы с PHP более 8 лет, с Laravel около 3 лет. Последнее место работы было связанно именно с работой на Laravel 5.1 (более 4 месяцев непрерывного коддинга). Большое REST API приложение с огромной аналитикой внутри. На связи (Skype, email, whatsapp, viber, telegram, телефон) я не менее 4 часов в сутки, работаю не менее 8 часов в сутки над выбранным проектом. Указанный срок выполнения немного завышен для подстраховки (все зависит от качество написанного кода и придерживания стандартов), но указывается в рабочих днях, а не календарных. Гарантирую полную конфиденциальность исходного кода и рабочего процесса

    Kazakhstan Astana | 27 January 2016 |