Practical symfony

День 2: Собственно проект

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "Practical symfony" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Jobeet Links

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com

Chapter Content

Ранее на Jobeet

Соль проекта

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

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

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

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

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

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

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

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

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

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

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

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

symfony training
Be trained by symfony experts
Feb 21: Köln (Getting Started with Symfony2 - English)
Feb 27: Köln (Mastering Symfony2 - English)
Mar 05: Köln (Web Development with Symfony2 - Deutsch)
Mar 05: Montreal (Web Development with Symfony2 - English)
Mar 05: Montreal (Getting Started with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "Practical symfony" in Russian for the 1.2 version - Propel edition - Switch to version: - Switch to ORM: - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
This version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.
Practical symfony (Propel edition)
Support symfony!
Buy this book
or donate.
Buy Practical symfony (Propel edition) from amazon.com

Ранее на 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).

Скетч главной страницы

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

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

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

Страница категорий

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

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

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

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

Страница вакансии

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

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

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

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

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

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

Страница заведения вакансии

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

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

Партнёрский аккаунт должен быть активирован администратором (История B3). После активации партнёр получает ключ для использования с API через 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/
День 3: Модель данных. »
« День 1: Начало проекта

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.