Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Добрый день. 

Требуется backend разработчик который возмется за немаленький заказ.

Работа в команде с системным администратором и фронтэнд разработчиком 

Техническое задание на разработку сайта

Общие требования к сайту:

Сайт должен поддерживать казахский, русский, английский язык.

Сайт должен иметь REST API, дублирующий функционал сайта, с документацией.

Язык backend - PHP 7+

Предпочтения к Фреймворку Laravel 5.4/Phalcon 3.1.1

База данных - PostgreSQL

Дизайн, верстка от нас

Содержание:

  • Ввод
  • Посты
  • Комментарии
  • Система рейтинга
  • Главная страница
  • Внутренняя страница поста
  • Страница профиля профиля
  • Авторизация,Регистрация
  • Настройки профиля
  • Система уведомлений
  • Облако Тегов
  • Поиск
  • Модерация
  • Админ панель
1. Ввод

Цель проекта - создать информационно развлекательный портал, где пользователи сами генерируют контент, загружая картинки,видео,текст. Мотивацией пользователей загружать контент служит 4.Система Рейтинга и желание поделиться интересным с другими пользователями сайта.

Аналоги: pikabu.ru, 9gag.com, reddit.com

2.Посты

У авторизованных пользователей должна быть возможность создавать посты. Пост содержит в себе данные:

  • Название - Обязательное поле, максимальное значение 160 символов. Заполняется автором поста.
  • короткое описание - Необязательное поле максимальное значение 255 символов. Заполняется автором поста.
  • Контент - видео,картинку/гиф или текст. Обязательное автором поста.
  • Теги - ключевые слова, заполняются автором поста, минимальное количество 3 ключевых слова
  • Оценка - Числовое значение, может быть отрицательным, подробнее 4. Система Рейтинга
  • Комментарии - К посту можно добавлять комментарий, могут добавлять все авторизованные пользователи. Подробнее 3.Комментарии
Посты нельзя редактировать автором по истечению 15 минут, только администратор ресурса может редактировать, удалить пост.

Автор поста не может удалить пост.

Cron JOB, посты через 24 часа, ложить в memcached, после каждого добавленного комментария, перезаписывать.

3.Комментарии

Комментарий оставляются авторизованными пользователями к посту.

Содержит в себе:

  • Текст - Обязательное поле, заполняется автором комментария
  • Картинка,гиф - необязательное поле заполняется автором комментария
  • Оценка - числовое значение, может быть отрицательным, подробнее 4.Система Рейтинга
На каждый комментарии могут отвечать пользователи сайта, включая автора комментария.

4.Система Рейтинга

Рейтинг Пользователя - числовое значение, может быть отрицательным.

Рейтинг Поста - каждый пост имеет оценку, числовое значение, которую ставят другие пользователи сайта,может быть отрицательным. Изначально пост имеет рейтинг 0. Каждый авторизованный пользователь может проголосовать за один пост один раз, плюс или минус. Рейтинг поста влияет на рейтинг автора поста. За каждый плюс добавляется к рейтингу +2, за каждый минус -2. Автор поста может проголосовать свой пост.

Рейтинг Комментария - каждый комментарии имеет оценку, может быть отрицательным. Изначальное имеет рейтинг 0. Каждый авторизованный пользователь может проголосовать за один комментарии один раз, плюс или минус. Рейтинг поста влияет на рейтинг автора комментария. За каждый плюс добавляется к рейтингу +1, за каждый минус -1. Автор комментария не может проголосовать свой комментарий.

5.Главная страница

Макет будет.

6.Внутренняя страница поста.

URL: domen/{translit_nazvaniya_timestamp}, название поста должна переходить в транслит, и добавляется timestamp создания поста

Внутренняя страница поста содержит в себе: Пост и комментарий к нему.

Макет будет

7. Страница профиля пользователя.

URL: domen/{login}

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

8.Авторизация, Регистрация

Регистрация на сайте должна быть возможна через социальные сети и через логин пароль на сайте.

Поля для регистрации через сайт:

  • Логин - английские буквы и цифры, уникальное поля для таблица users, минимальная длина 4 символа, максимальная длина 12 символов. Логин нельзя менять
  • Email адрес - уникальное поле для таблицы users
  • Пароль - Пароль пользователя, минимальная длина 8 символов
Email надо подтвердить чтобы добавлять посты и комментарий.

Регистрация социальные сети.

Доступен вход через vk.com,fb.com,twitter.com,gmail.com

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

Авторизация через сайт, ввод логина и пароля.

Авторизация через соц сети, вввод через соц сеть.

Восстановление пароля через email

9.Настройки профиля

Каждый авторизованный пользователь может менять настройки на сайте.

Заполнение личных данных:

  • Пол
  • Возраст
  • Город
  • Email
  • Аватарка на сайте.
Настройка уведомлении на почту

10.Система уведомлений

Если на пост оставили комментарии, Автор поста получает уведомление на сайте.

Если на комментарии ответили, Автор комментария получает уведомление.

11.Облако Тегов.

Облако тегов должно дублироваться в elasticsearch.

Длина ключевого слова минимум 3 символа, максимум 2 слова в словосочетании.

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

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

12.Поиск на сайте

Как вариант можно поставить google поиск или ваш вариант на выбор, надо озвучить свое мнение

13.Модерация.

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

В корзине пост не отображается пользователям в ленте, только на странице у пользователя.

14.Админ панель.

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

7 лет назад
guest_14938167226142
7 лет в сервисе
Был
7 лет назад