Задачи по PHP. Реальные практические задачи

Реальные задачи по PHP

php

перейти к содержанию задачника

  1. Парсер цены с сайта по ссылке
    Пользователь берет ссылку из интернет-площадки (список ниже) и вставляется в поле. Далее нажимает на кнопку и ему показывается цена товара + мой фиксированный процент.
    Если на странице интернет-площадки указана и доставка, то пользователю показывается цифра, состоящая из цена_товара+доставка+мой_фиксированный_процент.Список интернет-площадок:
    forever21.com
    aliexpress.com
    taobao.com
    ebay.com
    amazon.com 

    Функционал примерно такой как здесь http://savefrom.ne/, только вместо видео будет показываться цена.

  2. Интернет-витрину для сервиса доставки еды
    Требуется разработать интернет – площадку для сервиса доставки еды.
    Аналог http://restoranonline.ru/
    Макет сайта в формате PSD готов. 

    Предпочтительные технологии:
    Frontend:  HTML5 , CSS 3,  JavaScript,  JQuery, Bootstrap 3
    Backend:  mysql, PHP5, Yii 2

    В откликах хочу видеть предложения по срокам, предыдущий опыт, примеры реализованных проектов

  3. Разработать аналог функционала
    Нужно на фреймворке (предлагайте) реализовать функционал kolesa.kz
    верстка есть.
    предлагайте стоимость и сроки
    поэтапная ПОСТоплата или через гарант (СБР, fairplay)
  4. Разработка сайта для распределения учебной нагрузки

    Требуется разработать web-приложение, которое позволит распределять учебную нагрузку среди преподавателей кафедры, а именно:

    • Регистрировать ФИО преподавателей (в т.ч. указывать уч.степень, уч.звание)
    • Вбивать названия предметов (будет большой список)
    • Вбивать плановые часы на каждый конкретный предмет (сколько всего часов, в т.ч. лекций, лабораторных, практических и т.п.: возможность добавлять новые поля для часов под предметы)
    • Вбивать другую учебную нагрузку – курсовые работы, магистерские, и т.п.
    • Определять сколько часов «стоит» руководство 1 курсовой работой  (к примеру, 1 курсовая = 10 часов).
    • «Отдавать» часы преподавателю (программа сама из бюджета времени подсчитает остатки часов и скажет, сколько еще осталось нераспределенных курсовых работ)
    • Устанавливать ставку преподавателям (0,25; 0,5; 0,75; 1; и т.п. ставки + почасовка) и из этого планировать нагрузку преподавателям
    • Закреплять предметы и распределять учебную нагрузку среди преподавателей
    • Подсчитывать сколько распределенных часов уже имеется у каждого конкретного преподавателя (возможность добавлять/удалять доп.нагрузку)
    • Делать ежемесячные срезы учебной нагрузки для всех и для каждого преподавателя, в т.ч. для подачи сведений в бухгалтерию
    • Экспортировать общую нагрузку кафедры за год, за квартал, за месяц, а также с разбивкой за всех/за каждого преподавателя в файл формата Excel.
    • Экспортировать годовую нагрузку каждого преподавателя в индивидуальный план преподавателя (файл формата Wordсогласно конкретному шаблону).

    Пишите цены и сроки.

  5. Интернет магазин инструментов для автосервиса под ключ

    Нужен интернет магазин инструментов для автосервиса под ключ, платёжные системы обязательны (хотя бы одна)
    Что нужно:
    -форма быстрого заказа (прямо около товара) и корзина (1 страница 3 поля и кнопка)
    -далее планируется продвижение сайта, поэтому адреса всех страниц должны быть транслитом и все необходимые для SEO модули и штуки, а также поле в админке в котором можно будет разместить текст ниже плитки товаров
    -отсутствие ошибок в SEO, дыр в сайте, лишних элементов
    -на плитке с товарами должна быть возможность вывести краткое описание товара, цену, картинку, название и кнопку “Купить”
    -должен быть каталог
    -нужна современная аккуратная вёрстка (отдельно под мобильные устройства не нужно верстать)
    -возможность делать акцию с таймером и добавлять товары в хиты продаж
    -на карточке товара внизу должны быть похожие товары
    -возможность без знаний программирования самому создавать и редактировать страницы (доставки, оплаты и со статьями), редактировать меню
    -при покупке должно приходить письмо с оповещением на почту
    -для редактирования текстов на сайте нужен редактор типа word
    -важна скорость загрузки сайта и удобная панель управления.
    -логотип(дам), простой поиск и телефон в шапке сайта
    -в будущем возможно нужен будет несложный фильтр товаров
    -Срок от 2-х,3-х недель до месяца максимум!

    Дизайн не очень критичен, минимализм, классика и удобство приветствуется.
    Нужно будет внести список товаров 100 шт, есть список в excel, отдельно напишите цену за заполнение.

    Напишите CMS которую хотите использовать и почему, примеры интернет-магазинов, которые делали, скайп, ПОЧТУ и ЦЕНУ обязательно!
    При отсутствии серьёзных жалоб seo-шников и специалиста по юзабилити и успешной сдачи проекта, предложим постоянное сотрудничество!
    joomla не желательно, был плачевный опыт.

  6. Компании требуется высоко-квалифицированный PHP разработчик для поддержания имеющихся и разработки новых программных продуктов.

    Идеальный кандидат обладает опытом работы с высоконагруженными проектами, внимательностью, ответственностью и умением работать в команде.

    Необходимые навыки: php

    Инструкции:

    Для участия в собеседовании Вам необходимо решить эту “головоломку”.

    Она состоит из нескольких этапов, на каждом из которых вы будете получать очередной код + задание для следующего этапа – приложите эти коды в начале Вашего резюме при подаче заявки. К рассмотрению принимаются заявки только с наибольшим количеством пройденных этапов.

    Задание “головоломки”:
    ​QzBERTAxNzIwMDAwMjA3Mzc0NjU3MDYzNkY2NDY1M0EzMjMzMzkzNTJDMjA2ODc0NzQ3MDNBMkYyRjY3NkY2RjJFNjc2QzJGNDc2RDQxNDgzMDY0

  7. Простая CMS php/js/mysql/

    3 Вида Аккаунта: Админ, Рекламодатель, Вебмастер

    Функционал:
    Рекламодатель:
    Сумма на счете, Статистика переходов на URL, Возможность Добавить URL, Делить трафик RU/СНГ
    Статистика:
    Дата / Переходы RU/ Переходы СНГ / Сумма Переходов/ CPM RU / CPM СНГ / CPM / Сумма (денежное выражение)
    Фильтр по датам.
    Итого за выбранный период показатели статистики.

    Вебмастер:
    Сумма не счете, Заказ выплаты

    Статистика:
    Дата / Переходы RU/ Переходы СНГ / Сумма Переходов/ CPM RU / CPM СНГ / CPM / Сумма (денежное выражение)
    Фильтр по датам.
    Итого за выбранный период показатели статистики.
    Добавить Поток
    Получить код
    История Выплат
    Заказ выплаты 

    Админ:
    Найстрйока Редиректа (http/js/php), Настройка рекламных компаний:
    Приоритет Рекламодатель – ссылка:
    1-е открытие , 2-е открытие, 3-е открытие, и т.д. добавить.
    Цена для Вебмастера, Цена для Рекламодателя, Общая статистика: по рекламе, по вебмастерам
    К статистике добавляем / Профит.
    Выплаты /открытые/закрытие

    Добавить Вебмастера = Форме регистрации Вебмастера
    Данные: email (логин), Кошелек, Пароль, skype(необязательно), телефон ( необязательно)

    Добавить рекламодателя = Форме регистрации Рекламодателя: email(логин), пароль, скайп.
    В статистике фиксим редиректы с поддомена ( на другом ip)

    Получить код:
    Количество показов 1-10 на пользователя (по ip/куке)
    Код для Вебмастера = php куки с записью в файл( если по куке)
    url xxx.example.ru/Id
    Сверху можно обтянуть бутстрапом ( максимально просто)

  8. Сервис онлайн опросов

    Сервис онлайн опросов позволяет сотрудникам отвечать на тесты. Собирать отчеты об ответах на тесты сотрудников. Через специальный интерфейс авторизованные администраторы могут создавать и редактировать онлайн тесты. Просматривать статистику прохождения тестов.

    Тесты состоят из текстовых вопросов, вопросов с изображениями. И либо открытыми либо закрытыми ответами.

    Вопросы могут быть как открытыми (сотрудник должен ввести в поле правильный ответ). Так и закрытыми (сотрудники выбирают правильный ответ из нескольких предложенных)

    Результаты прохождения тестов, какие сотрудник дал ответы на вопросы, сколько тестов прошел, и т.д. передаются в кабинет менеджеров. В котором он соответственно может просматривать статистику прохождения тестов сотрудниками.

  9. Почтовая система на php
    Есть сайт тренингов с зарегистрированными пользователями. У каждого пользователя свой личный кабинет. Данные пользователя: фио, дата регистрации, email, предпочтения (список направлений тренингов), список пройденных, текущих и планируемых тренингов и др.
    Потовая система должна осуществлять рассылку сообщений пользователем в личные кабинеты и/или на еmail.
    Возможности: настройки периодичности рассылки, выбор пользователей по критериям, хранение истории рассылки, статистика (какие пользователя читают рассылку, показатели эффективности рассылки и др.). Письма на email не должны попадать в спам.
  10. Парсер двух форумов

    Нужно сделать парсер форумов http://searchengines.guru/  и http://www.maultalk.com/, который будет собирать следующую информацию:

    1. Название темы со ссылкой на страницу форума
    2. Количество ответов
    3. Количество просмотров
    4. Дата и время последнего сообщения
    5. Количество сообщений за выбранный период

    И выводить эту информацию в виде таблицы, отсортировав темы по количеству сообщений за выбранный период.

    Парсеры должны работать через прокси, чтобы избежать блокировок.

  11. Веб-скрипт, заменяющий слова на страницах

    Требуется написать скрипт, заменяющий слова на странице из словаря с учетом окончаний и морфологии слова.

    Пользователь вводит адрес страницы, например yandex.ru, сервер обрабатывает весь текст на странице и выводит страницу с сохранением стилей и изображений, но с замененным текстом на слова из словаря.

    Подбор слов из словаря осуществляется по количеству букв(+\- 2 буквы) и части речи (определяется по окончанию, понятно что может быть не идеально, но в пределах 5% ошибок – сделать реально).

    Платформа на выбор исполнителя, желательно максимально эффективная серверная или клиентская логика для обработки большого числа запросов одновременно.

  12. Сайт заявок
    На сайте авторизация через вк.Автоматически из профиля вк. Заполняется информация. пол, возраст, страна, аватарка, информация. 

    Так же пользователь позднее может отредактировать эти данные. Или заполнить вручную если не удалось заполнить автоматически.

    Пользователи могут оставлять заявки на сайте. Заявки после заполнения попадают в каталог заявок. Заявки можно отфитльтровать. Существуют различные типы заявок. В зависимости от их типа. Фильтры заявок меняются. К заявкам можно писать комментарии

  13. CRM. В городе 5 филиалов организации. В каждой организации по 2-3 пользователя CRM, которые добавляют новых пришедших в базу. Причина стандартная — сейчас организация одна, а базы у всех свои. Вот и носятся
    При входе в систему должна быть возможность выбрать «Добавить клиента», «Просмотр базы», «Поиск». 

    «Добавить клиента».
    В базе стандартные поля по каждому пришедшему: номер досье (должен генериться +1 к предыдущему), возраст, имя, язык, количество детей, и еще 3-5 колонок. Если у клиента есть дети, жена/муж — то они также добавляются в базу и привязаны к первому заявителю (клиенту). Открыв карточку ребенка можно увидеть всю семью.
    А также нужен аплоад нескольких файлов (pdf, doc, jpg).

    «Просмотр базы»
    У каждого филиала есть права видеть только своих клиентов с возможностью поиска. Возможность фильтра и экспорта в Эксель.
    У ревизора есть права видеть всех (с возможность экспортировать всех в Эксель).

    «Поиск»
    Моментальный поиск клиента (по первым введенным буквам в поле Имя, Фамилия). Отдельный поиск по номеру досье. При выборе клиента есть возможность редактировать его карточку.

  14. Карты. Необходимо создать веб-приложение для управления базой данных бонусных карт (карты лояльности).Инструменты: нативный PHP или любой PHP фреймворк. Можно использовать jQuery.Список полей: серия карты, номер карты, дата выпуска карты, дата окончания активности карты, дата использования, сумма, статус карты (не активирована/активирована/просрочена).Функционал приложения
    – список карт с полями: серия, номер, дата выпуска, дата окончания активности, статус
    – поиск по этим же полям
    – просмотр профиля карты с историей покупок по ней
    – активация/деактивация карты
    – удаление карты
    – реализовать генератор карт, с указанием серии и количества генерируемых карт, а также “срок окончания активности” со значениями “1 год”, “6 месяцев” и “1 месяц”. После истечения срока активности карты, у карты проставляется статус “просрочена”.

    Примечаниеполя с датами должны содержать также и время.

  15. Биржа труда. 1. Есть три типа пользователей: (1) Администратор; (2) Пользователь А; (3) Пользователь Б. У каждой роли свои права и возможности.
    2. Пользователь А может создавать объявления по заданным параметрам. Созданные объявления помещаются в общую таблицу с задачами других пользователей А.
    3. Создавая задачу пользователь заполняет определенные поля. Администратор имеет возможность регулировать кол-во полей формы, дополнять и удалять.
    4. В форме присутствуют несколько типов полей: текст, дата, время, мультитекст, чекбокс, радио, теги. Каждый тип имеет свои свойства. К примеру при выборе даты система предлагает выбрать дату через календарь. Вывод выбранной даты в таблице осуществляется по модели указания числа и кол-ва дней оставшихся до этой даты.
    5. Указанные поля в форме автоматически отображаются в общей таблице. При этом каждый пользователь может скрывать/открывать поля в таблице.
    6. Пользователи А и Б могут просматривать таблицу, где расположена все задачами по всем пользователям А. Задачи выводятся согласно пользовательским фильтрам по стандартной схеме. Изначально задачи выводятся по свежести. Задачи, которые просрочены или которые сняты автоматически уходят в архив.
    7. У каждой задачи есть несколько функций: (а) комментарии к задаче; (б) кнопка выбрать комментарий; (в) аналитика по кол-ву комментариев и принятым комментариям.
    8. Отдельно администратор должен иметь возможность создавать категории и дополнительные элементы фильтров задач. К примеру, администратор может создать категории Hr/Marketing и добавить фильтр города( Москва, Питер и т.д.). Система автоматически выведет категории рядом с таблицей. По умолчанию все старые задачи примут первый параметр в категории.
    9. Пользователь А имеет вкладку Мои задания. Пользователь Б имеет вкладку Мои ответы. Каждый из них может анализировать свою активность.
    10. Система по модели похожа на биржу труда, где есть заказчики и исполнители. При этом созданную таблицу можно использовать в разных секторах, к примеру в логистике.
  16. Веб-портал для приема сообщений
    Функция портала заключается в аккумулировании присылаемых сообщений на определенный почтовый адрес.
    Авторизация. Автоматическое генерирование логина, пароля и рассылка необходимым контактам с определенной периодичностью.
    На странице лента из превью сообщений (дата, адресат, тема, содержание)
  17. Написание системы комментариев на PHP.
    Основное:
    Отправка комментария пользователем.
    Отображение времени отправки комментария.
    Отображение имени отправителя.
    Возможность редактирования комментария.
    Возможность удаления комментария.
    Возможность отправить комментарий анонимно.
    Скрин верстки комментариев прикреплен.

    Самое важное:
    Безопасность
    Скорость работы
    Расчет на огромные нагрузки.  Задача по PHP

  18. Пример ТЗ сайта Кредит+