Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
css
img
js
.htaccess
README
captcha.php
dump.sql
index.php

README

Задание
_____________________________________________________________________
> Реализовать минимальный функционал популярной соц. сети 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 - собственно для формирования потока