Jobeet. День второй. The Проджект.

Приветствуем!

Хотите что-то написать?

Нужно назвать себя.

Если вы пришли в первый раз,
то нужно зарегистрироваться.

Читайте нас в:

Блог на ya.ru
Блог на Деловом квартале
Блог на Twitter.om
Блог на Livejournal.com
04 декабря

ПереводыJobeet. День второй. The Проджект.

Ранее на Jobeet

Мы ещё не написали не единой строки PHP, но вчера, мы создали среду, пустой проект symfony и убеделись, что начали с хорошими настройками безопасности. Если вы за всем следили, то сейчас вы должно быть с восхищением смотрите на экран, т.к. на нём показывают стандартную страницу приложений symfony.

Но вы жадите большего. Вы хотите изучить все самые мелкие премелкие детали о разработке приложений на symfony. Итак, продолжим наше путешествие к нирване разработчков на symfony.

Сегодня мы уделим немного времени описанию требований проекта Jobeet и создадим несколько скетчей.

Соль проекта

Все сегодня говорят о кризисе. Сокращения вновь зверствуют с большей силой.

Я знаю, что разрабочики на symfony не слишком то заинтересованы и изучение symfony у них на первом месте. Но ведь это очень трудно найти хорошего разработчика на symfony.

Где бы найти такого разрабочика? Кому мы предложить свои знания по symfony?

Вам нужно найти хорошую доску объявление о работе. Тоже, мне монстр? Подумайте ещё раз. Вам нужна определённая доска объявлений. Такая, где вы сможете найти лучших людей, экспертов. Такую, где можно легко, быстро и весело искать работу или же сотрудника.

Хватит искать! Jobeet это то самое место. Jobeet это Open-Source доска объявлений по поиску работы, которая делает лишь одну вещь, но зато как она это делает! Она проста в использовании, настройке, расширении и встраивании в ваш сайт. Она сразу же поддерживает несколько языков и конечно же использует последние тенденции технологии Web 2.0 для лучшей работы пользователя. Она так же предоставляет ленты и API для взаимодействия с ней программно.

А может она уже есть? Как пользователь вы сможете найти кучу таких досок, подобных Jobeet, на просторах интернета. Но попробуйте найти среди них Open-Source и богатую на функционал, который мы вам предлагаем.

Так, а кто там сказал что это займёт меньше 24х часов на symfony? Пора бы нам уже начать!

Рассказы пользователей проекта

Прежде чем окунуться с головой в код, давайте немного опишем проект. Следующие части расскажут нам о возможностях, которые мы хотим внедрить в первую версию/итерацию проекта и расскажем мы это от лица пользователей.

Jobeet рассчитан на 4 типа людей:

  • Админ: Он владеет сайтом и обладает магической силой
  • Пользователь: Он бродит по сайту в поисках работы или же хочет предложить поработать
  • Работодатель: Он создаёт вакансию
  • Компаньён: Он копирует некоторые вакансии на свой сайт

У проекта есть 2 приложения: фронтенд(frontend) (истории F1 - F7, о них ниже), где пользователь общается с сайтом, а так же бэкенд(backend) (истории B1 - B3), в котором админы управляют сайтом.

Бэкенд защищён и требует определённых права для доступа.

История F1: на главной странице пользователь видит последние доступные вакансии

Когда пользователь заходит на Jobeet, то он видит список текущих вакансий. Вакансии сортируются по категориям, а затем уже по дате публикации (первыми публикуются новые вакансии). Для каждой вакансии отображается лишь место, должность и компания.

Для каждой категории отображается список из 10 вакансий, а так же ссылка, позволяющая посмотреть все вакансии в данной категори (История F3).

Да главной странице пользователь может подкорректировать список вакансий (История F2) или создать новую вакансию (История F5).

Homepage Mockup

История F2: пользователь может запросить все вакансии из категории

Когда пользователь жмёт на имя категории или на "ещё вакансии" на главной странице, то он может увидеть все вакансии категории, отсортированные по дате.

Список разбивается на страницы по 20 вакансий.

The Category Page

История F3: Пользователь изменяет список при помощи ключевых слов.

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

История F4: Пользователь кликает по вакансии, чтобы узнать подробности

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

The Job Page

История F5: Пользователь может создать вакансию

Пользователь может создать вакансию. Вакансия состоит из нескольких едениц информации:

  • Комания
  • Тип (полный рабочий день, по совместительству или удалённая)
  • Логотип (не обязательно)
  • Ссылка (не обязательно)
  • Должность
  • Местоположение
  • Категория (пользователь можешь выбрать из списка доступных)
  • Описание работы (ссылки и email'ы прописываются автоматически)
  • Как попасть на собеседование (ссылки и email'ы прописываются автоматически)
  • Публичный доступ (может ли вакансия быть получена сайтами-партнёрами)
  • Email (email создателя вакансии)

Нет никакой нужды заводить аккаунт для создания работы.

Процесс прямолинеен и содержит 2 шага: сначала пользователь заполняет форму всей необходимой информацией для описания вакансии, а затем проверяет информацию на странице предпросмотра.

Даже если у пользователя нет аккаунта, вакансия в дальнейшем может быть изменена, благодаря особой ссылке (защищённой ключём, который выдаётся пользователю после заведения вакансии).

Каждая вакансия активна 30 дней (это настраивается админом - смотрите Историю B2) Пользователь может вернуться и активировать вновь или дополнить информацию по вакансии на ещё 30 дней, но лишь если до истечения срока вакансии осталось 5 дней.

The Job Creation Page

История F6: пользователь хочет стать партнёром

Пользователь может сделать запрос на партнёрство, чтобы использовать API Jobeet. Для этого ему нужно указать следующее:

  • Имя
  • Email
  • Ссылка на сайт

Партнёрский аккаунт должен быть активирован администратором (История B3). После активации партнёр получает ключ для использования с API через email.

История F7: партнёр получает список текущих активных вакансий

Партнёр может получать текущий список вакансии при помощи API, используя партнёрский ключ. Данный список может быть получен в формате XML, JSON или YAML.

Список содержит публикуемую информацию для вакансии.

Партнёр так же может установить ограничение на количество получаемых вакансий, а так же изменить запрос, выбирай лишь вакансии определённой категории.

История B1: Администратор настраивает веб-сайт

Администратор может определять категории, доступные на сайте.

Так же он может поменять:

  • Максимальное количество отображаемых вакансий на странице
  • Язык сайта
  • Срок активности вакансии

История B2: Администратор управляет вакансиями

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

История B3: Администратор управляет партёрской программой

Администратор может создавать или редактировать партнёром. Он отвественный за активацию партнёра, но может его и отключить.

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

Увидимся завтра!

Как и в любой веб-разработке никогда не начинаешь программировать в первый же день. Вам сперва нужно собрать требования и поработать над дизайн-скетчами. Что мы сегодня и проделали.

Как и вчера, сегодняшний код доступен в SVN. Проверь тэг release_day_02:

$ svn co http://svn.jobeet.org/tags/release_day_02/ jobeet/

Коментарии:

porcelanosa 2008-12-07 02:34:01

Спасибо. Отличное дело делаете! Читаю учебник на английском - а потом у Вас на русском неясные моменты уточняю.

ответить
maddogg 2008-12-08 10:51:37

рады стараться и видеть, что старания проходят не зря.

ответить
Paul 2008-12-07 02:58:44

А с дальнейшим переводом дело заглохло? Предлагаю объединить усилия, но только не просто в блоге выкладывать, а делать перевод в Markdown оформлении и скидывать его в SVN на symfony-project.org
Если заинтересует - пишите на моё мыло, обсудим подробности.

ответить
maddogg 2008-12-08 10:53:33

переводы не заглохли. Просто в эти выходные решил немного отоспаться. По вечерам буду переводить вновь. Ждите письма.

ответить
Paul 2008-12-08 11:36:46

Ok. Я вчера написал скриптик конвертации markdown разметки в html с подсветкой синтаксиса примеров, чтобы можно было у себя публиковать переводы, не дожидаясь, когда их на сайт symfony добавят.
Жду письма. Кстати, я поставил галочку "следить за комментариями в теме", но о твоём ответе на почту мне никаких писем не приходило...

ответить
Мини игры 2009-01-16 17:24:33

полезненько :)

ответить
kirmak 2009-02-05 22:41:18

А как бы поправить грамматику? Пока читаю, так руки и чешутся - поисправлять что ни попадя :)

ответить

Свой комментарий: