Прежде чем углубляться в код с головой, опишем более подробно, как будет работать проект. В следующих разделах описаны функции, которые мы будем реализовывать в первой версии/итерации проекта с некоторыми простыми историями.
Пользовательские истории
Веб-сайт Joboard будет иметь четыре типа пользователей: Администратор (владеет и управляет веб-сайтом), пользователь (посетитель веб-сайта, ищет работу), работодатель (посетитель веб-сайта и размещает вакансии) и партнёр (имеет доступ к списку вакансий и публикует их на своем веб-сайте).
История F1: На главной странице пользователь видит последние доступные вакансии
Когда пользователь заходит на веб-сайт Joboard, то он видит список активных вакансий. Вакансии отсортированы по категории и затем по дате публикации – новые вакансии вначале. Для каждой вакансии отображается только адрес, доступные позиции и название компании.
Для каждой категории в списке показаны первые 10 вакансий и ссылка, которая позволяет увидеть все вакансии для данной категории (История F2).
На главной странице пользователь может отфильтровать список вакансий (История F3) или создать новую вакансию (История F5).
История F2: Пользователь может просмотреть все вакансии в данной категории
Когда пользователь щелкает на название категории или на ссылку «Дополнительные вакансии» на главной странице, он видит все вакансии для этой категории, отсортированные по дате.
Список разбивается на страницы, на каждой странице будет по 20 вакансий.
История F3: Пользователь фильтрует список используя ключевые слова
Пользователь может ввести ключевые слова для уточнения поиска. Ключевые слова могут быть словами, найденные в адресе, в текущей позиции, в категории или названии компании.
История F4: Пользователь нажимает на вакансию, чтобы увидеть более подробную информацию
Пользователь может выбрать вакансию из списка, чтобы увидеть более подробную информацию.
История F5: Пользователь добавляет вакансию
Пользователь может разместить вакансию. Вакансия состоит из нескольких частей:
- Компания
- Тип (полный рабочий день, неполный рабочий день или фриланс)
- Логотип (необязательно)
- Ссылка (необязательно)
- Позиция
- Адрес
- Категория (пользователь выбирает в списке возможные категории)
- Описание вакансии
- Электронная почта (работодателя)
Этот процесс имеет только два шага: во-первых, пользователь заполняет форму со всей необходимой информацией для описания вакансии, а затем проверяет всю информацию, просмотрев страницу готовой вакансии.
Нет необходимости создавать аккаунт для того, чтобы разместить вакансию. Вакансия может быть изменена впоследствии благодаря определенному URL-адресу (защищенного с помощью токена, заданного пользователем при создании вакансии).
Каждая вакансия доступна в течении 30 дней с момента публикации (это настраивается администратором). Пользователь может вернуться и повторно активировать или продлить срок действия вакансии дополнительно на 30 дней, но только тогда, когда вакансия истекает менее чем через 5 дней.
История F6: Пользователь хочет стать партнёром
Пользователю необходимо обратиться к администратору, чтобы стать партнером и иметь право на использование Joboard API. Чтобы стать партнёром, он должен предоставить следующую информацию:
- Имя
- Электронный адрес
- Адрес веб-сайта
Аккаунт партнёра должен быть активирован администратором (История B3). После активации, партнёр получает по электронной почте специальный токен, с его помощью партнёр сможет получить доступ к Joboard API .
История F7: Партнёр получает текущий список активных вакансий
Партнёр может получить текущий список вакансий путем вызова метода в API с его партнёрским токеном. Список может быть возвращен в формате XML, JSON или YAML. Партнёр может ограничить количество возвращаемых вакансий, и кроме того, отфильтровать запрос, указав категорию.
История B1: Администратор настраивает веб-сайт
Администратор может редактировать категории, доступные на веб-сайте.
История B2: Администратор управляет вакансиями
Администратор может редактировать и удалять любые вакансии.
История B3: Администратор управляет партнёрами
Администратор может создать или изменить партнёра. Он отвечает за активацию партнёра и может также отключить его. Когда администратор активирует новый партнёрский аккаунт, система создает уникальный токен для партнёра.
Как разработчик, вы никогда не начнёте писать код в первый же день. Во-первых вам нужно собрать требования для проекта и понять, как ваш проект должен работать. Это то, что вы сделали сегодня. Увидимся в следующей части!