Home > Free-Twitter

Free-Twitter

Free-Twitter is a project mainly written in ..., it's free.

My test work

Задание


Реализовать минимальный функционал популярной соц. сети twitter.com

  1. Регистрация пользователей Логин = Email Пароль Аватар (необязательно) Captcha при регистрации, активация аккаунта по почте
  2. Отправка/удаление коротких сообщений в свою ленту (не более 140 символов) с помощью ajax
  3. Пейджинатор ленты как на twitter.com (на странице не более 10 сообщений, при клике на ссылку "еще", автоматически подгружать следующие 10 с помощью ajax)
  4. Изменение профиля (пароля и аватарки)
  5. Возможность стать читателем лент других аккаунтов
  6. Отображать список пользователей и их количество: которых читаете Вы которые читают Вас

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

Используем три таблицы

users - здесь храним все данные о пользователях twitts - здесь храним все "твитты" following - здесь храним связи между пользователями

Используем два котроллера

users - отвечает за авторизацию, регистрацию, профиль пользователя flow - отвечает за формировании потока сообщений, за добавление новых сообшений и управление связями между пользователями

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

Используем две модели

users - отвечает за хранение данных о пользователях flow - отвечает за сообщения.

Пояснение: Т.к. при формировании потока сообщений нам требуется использовать две таблицы (twitts и following) есть смысл делать единую управляющую модель для этих данных. При росте проекта будет смысл разбить ее на три модели:

  1. twitts - управление сообщениями
  2. following - управление подписками
  3. flow - собственно для формирования потока