inlanger
15.04.2008, 12:30
По результатам этого задания мы примем решение о приеме тебя на работу.
"Анонимный чат"
Описание:
Чат в котором у пользователей не будет возможности установить себе ник. Основная идея та-же что и 2ch.ru:
никаких ников, регистраций, разделений на пола группы и. т.д. Все пользователи и сообщения анонимны.
Контроллеры(страницы):
1. Главная страница
2. Чат
Условные обозначения:
1.1. Пользователь считается уникальным в рамках одной сессии. Если пользователь закрыл окно браузера, а потом открыл и заново нажал кнопку "войти в чат" - это уже другой пользователь.
1.2. рейтинг - это целове положительное число.
Требования:
0. Требования к коду
1. Главная страница
1.1. большая зелёная кнопка с закругленными уголками нажав которую пользователь сразу попадает в чат
1.2. рейтинг сообщений: первые 10 сообщений из выборки всех сообщений, отсортированных по рейтингу
1.3. статистика: количество активных пользователей, всего пользователей(сессий), количество сообщений
2. Чат
2.1. div со скроллом содержащий последние 50 сообщений
2.1.1. проверка на наличие новых сообщений осуществляется каждые 2 секунды.
2.1.1.1. этот параметр должен быть легко настраиваемым
2.2. поле для ввода сообщения (под дивом)
2.3. список активных пользователей в формате ("user" + id): user1, user2, user3 ... user234 (справа от дива с сообщениями и равный ему по высоте)
2.4. слева от каждого сообщения должна быть звездочка, нажав на которую пользователь увеличивает рейтинг на 1.
2.4.1. один пользователь может проголосовать за одно сообщение только один раз
2.4.2. после нажатия на звездочку она становится серой
2.4.3. пользователь не может голосовать за своё сообщение
2.4.4. рядом со звездочкой должен быть текущий рейтинг этого сообщения (int)
2.5. Сессии
2.5.1. Пользователь существует в рамках одной сессии, то есть для них даже не нужна отдельная таблица.
2.5.2. Все сессии хранятся в базе данных
2.5.3. У каждой сессии должно быть поле указывающее на дату последней активности пользователя(пост сообщения или проверка на наличие новых)
2.5.4. Пользователь не проявивший активности в течении 10 секунд считается недействительным. Сессия помечается как закрытая. Этот параметр должен быть легко настраиваемым.
3. Требования к коду
3.1. Использование паттерна MVC обязательно (см. в википедии)
3.2. верстка дивами (тэга <table) на сайте быть не должно
3.3. Выборка новых сообщений из чата производится ajax-запросом. Клиентский javascript получает только новые сообщения и обновления рейтингов
4.4. Написать свой класс для доступа к базе данных или использовать любой из pear'а.
Использование следующих фреймворков обязательно:
1. jQuery - для получения новых сообщений и обновления рейтингов
2. Smarty - для отображения кода из контроллеров
Бонусное задание:
экспорт новых сообщений из top10 в rss
Вот какие задания дают кандидатам на работу php программистам. Но вот проблема в том, что я не знаю с чего начать. Особенно интересует MVC(нифига не пойму что это и куда это), и пункт 4.4
З.Ы. Может у кого есть какие идеи?
З.З.Ы. Убиццо ап стену и выпить йаду не предлагать :)
"Анонимный чат"
Описание:
Чат в котором у пользователей не будет возможности установить себе ник. Основная идея та-же что и 2ch.ru:
никаких ников, регистраций, разделений на пола группы и. т.д. Все пользователи и сообщения анонимны.
Контроллеры(страницы):
1. Главная страница
2. Чат
Условные обозначения:
1.1. Пользователь считается уникальным в рамках одной сессии. Если пользователь закрыл окно браузера, а потом открыл и заново нажал кнопку "войти в чат" - это уже другой пользователь.
1.2. рейтинг - это целове положительное число.
Требования:
0. Требования к коду
1. Главная страница
1.1. большая зелёная кнопка с закругленными уголками нажав которую пользователь сразу попадает в чат
1.2. рейтинг сообщений: первые 10 сообщений из выборки всех сообщений, отсортированных по рейтингу
1.3. статистика: количество активных пользователей, всего пользователей(сессий), количество сообщений
2. Чат
2.1. div со скроллом содержащий последние 50 сообщений
2.1.1. проверка на наличие новых сообщений осуществляется каждые 2 секунды.
2.1.1.1. этот параметр должен быть легко настраиваемым
2.2. поле для ввода сообщения (под дивом)
2.3. список активных пользователей в формате ("user" + id): user1, user2, user3 ... user234 (справа от дива с сообщениями и равный ему по высоте)
2.4. слева от каждого сообщения должна быть звездочка, нажав на которую пользователь увеличивает рейтинг на 1.
2.4.1. один пользователь может проголосовать за одно сообщение только один раз
2.4.2. после нажатия на звездочку она становится серой
2.4.3. пользователь не может голосовать за своё сообщение
2.4.4. рядом со звездочкой должен быть текущий рейтинг этого сообщения (int)
2.5. Сессии
2.5.1. Пользователь существует в рамках одной сессии, то есть для них даже не нужна отдельная таблица.
2.5.2. Все сессии хранятся в базе данных
2.5.3. У каждой сессии должно быть поле указывающее на дату последней активности пользователя(пост сообщения или проверка на наличие новых)
2.5.4. Пользователь не проявивший активности в течении 10 секунд считается недействительным. Сессия помечается как закрытая. Этот параметр должен быть легко настраиваемым.
3. Требования к коду
3.1. Использование паттерна MVC обязательно (см. в википедии)
3.2. верстка дивами (тэга <table) на сайте быть не должно
3.3. Выборка новых сообщений из чата производится ajax-запросом. Клиентский javascript получает только новые сообщения и обновления рейтингов
4.4. Написать свой класс для доступа к базе данных или использовать любой из pear'а.
Использование следующих фреймворков обязательно:
1. jQuery - для получения новых сообщений и обновления рейтингов
2. Smarty - для отображения кода из контроллеров
Бонусное задание:
экспорт новых сообщений из top10 в rss
Вот какие задания дают кандидатам на работу php программистам. Но вот проблема в том, что я не знаю с чего начать. Особенно интересует MVC(нифига не пойму что это и куда это), и пункт 4.4
З.Ы. Может у кого есть какие идеи?
З.З.Ы. Убиццо ап стену и выпить йаду не предлагать :)