Jobeet, день 2: Проект

Этот день посвящен спецификациям проекта. Они такие же, как в оригинале Jobeet tutorial, поэтому там вы можете увидеть более подробное описание и дизайн макета.

Jobeet — это доска объявлений по поиску работы с открытым исходным кодом, который реализует только этот функционал. Она проста в использовании, настройке, расширении и встраивании на ваш сайт. Она поддерживает множество языков из коробки и, конечно же, использует новейшие технологии Веб 2.0 для повышения удобства пользователей. Она также предоставляет ленты объявлений и API для взаимодействия с ними программно.

Пользовательские истории

У нас будет четыре типа пользователей: admin (владеет и администрирует сайт), пользователь (посещает сайт, ищущий работу), отправитель (посещает сайт для публикации вакансий) и компаньон (повторно публикует рабочие места на своем сайте).

В оригинальном учебном пособии нам пришлось сделать два приложения: frontend, где пользователи взаимодействуют с веб-сайтом, и backend, где администраторы управляют веб-сайтом. Используя Symfony 4, мы больше не будем этого делать. У нас будет только одно приложение и в нем отдельный защищенный раздел для администраторов.

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

На главной странице Jobeet пользователь видит список из 10 последних последних размещённых вакансий, сгруппированных по категориям. Для каждой вакансии отображаются только местоположение, должность и компания. Для каждой категории есть ссылки, позволяющие посмотреть все вакансии в данной категории. Пользователь также может выполнять поиск по вакансиям или разместить новую вакансию.

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

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

Пользователь видит список всех вакансий из категории, отсортированные по дате, который разбит на страницы по 20 вакансий на страницу.

Макет категории

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

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

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

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

Макет детальной вакансии

История F5: пользователь публикует вакансию

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

  • Компания
  • Тип (полный рабочий день, неполный рабочий день или фриланс)
  • Логотип (необязательно)
  • URL (необязательно)
  • Должность
  • Местоположение
  • Категория (пользователь выбирает в списке возможных категорий)
  • Описание работы (URL-адреса и электронные письма прописываются автоматически)
  • Как подать заявку (URL-адреса и электронные письма прописываются автоматически)
  • Общедоступный доступ (можно ли опубликовать вакансию на партнерских веб-сайтах)
  • Электронная почта (электронная почта отправителя вакансии)

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

Нет необходимости создавать учетную запись для публикации вакансии. Затем вакансия может быть изменена благодаря определенному URL (защищенному токеном, предоставленному пользователю при создании вакансии).

Каждая вакансия отображается в течение 30 дней (это настраивается администратором). Пользователь может вернуться, чтобы повторно активировать или продлить срок действия вакансии в течение дополнительных 30 дней, но только тогда, когда срок вакансии истекает менее чем за 5 дней.

Макет отправки вакансии

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

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

  • Имя
  • Электронный адрес
  • Ссылка на сайта

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

История F7: партнер получает список с опубликованными вакансиями

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

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

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

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

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

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

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

Следующие шаги

Продолжение учебника: Jobeet, день 3: Модель данных

Предыдущая запись: Jobeet, день 1: Начало проекта

Главная страница: Учебник Jobeet с Symfony 4.1