Этот день посвящен спецификациям проекта. Они такие же, как в оригинале Jobeet tutorial, поэтому там вы можете увидеть более подробное описание и дизайн макета.
Jobeet — это доска объявлений по поиску работы с открытым исходным кодом, который реализует только этот функционал. Она проста в использовании, настройке, расширении и встраивании на ваш сайт. Она поддерживает множество языков из коробки и, конечно же, использует новейшие технологии Веб 2.0 для повышения удобства пользователей. Она также предоставляет ленты объявлений и API для взаимодействия с ними программно.
У нас будет четыре типа пользователей: admin (владеет и администрирует сайт), пользователь (посещает сайт, ищущий работу), отправитель (посещает сайт для публикации вакансий) и компаньон (повторно публикует рабочие места на своем сайте).
В оригинальном учебном пособии нам пришлось сделать два приложения: frontend, где пользователи взаимодействуют с веб-сайтом, и backend, где администраторы управляют веб-сайтом. Используя Symfony 4, мы больше не будем этого делать. У нас будет только одно приложение и в нем отдельный защищенный раздел для администраторов.
На главной странице Jobeet пользователь видит список из 10 последних последних размещённых вакансий, сгруппированных по категориям. Для каждой вакансии отображаются только местоположение, должность и компания. Для каждой категории есть ссылки, позволяющие посмотреть все вакансии в данной категории. Пользователь также может выполнять поиск по вакансиям или разместить новую вакансию.
Пользователь видит список всех вакансий из категории, отсортированные по дате, который разбит на страницы по 20 вакансий на страницу.
Пользователь может ввести несколько ключевых слов, чтобы уточнить поиск. Ключевые слова ищутся в полях местоположения, должности, категории и имени компании.
Пользователь может выбрать вакансию из списка, чтобы просмотреть более подробную информацию.
Пользователь может опубликовать вакансию. Вакансия состоит из нескольких частей информации:
- Компания
- Тип (полный рабочий день, неполный рабочий день или фриланс)
- Логотип (необязательно)
- URL (необязательно)
- Должность
- Местоположение
- Категория (пользователь выбирает в списке возможных категорий)
- Описание работы (URL-адреса и электронные письма прописываются автоматически)
- Как подать заявку (URL-адреса и электронные письма прописываются автоматически)
- Общедоступный доступ (можно ли опубликовать вакансию на партнерских веб-сайтах)
- Электронная почта (электронная почта отправителя вакансии)
Процесс состоит из двух шагов: во-первых, пользователь заполняет форму со всей необходимой информацией для описания вакансии, затем он проверяет информацию, просматривая последнюю страницу вакансии.
Нет необходимости создавать учетную запись для публикации вакансии. Затем вакансия может быть изменена благодаря определенному URL (защищенному токеном, предоставленному пользователю при создании вакансии).
Каждая вакансия отображается в течение 30 дней (это настраивается администратором). Пользователь может вернуться, чтобы повторно активировать или продлить срок действия вакансии в течение дополнительных 30 дней, но только тогда, когда срок вакансии истекает менее чем за 5 дней.
Пользователь должен подать заявку, чтобы стать партнёром и иметь право использовать API Jobeet. Он также может выбрать получение вакансий из подмножества доступных категорий. Чтобы подать заявку, пользователь должен предоставить следующую информацию:
- Имя
- Электронный адрес
- Ссылка на сайта
Партнёрский аккаунт должен быть активирован администратором. После активации партнер получает токен для использования API по электронной почте.
Партнер будет получать текущий список вакансий, вызывая API со своим токеном. Список может быть возвращен в формате XML, JSON или YAML. Партнер может ограничить количество возвращаемых вакансий и уточнить свой запрос, указав категорию.
Администратор может редактировать категории, доступные на сайте.
Администратор может редактировать и удалять любые опубликованные вакансии.
Администратор может создавать или редактировать партнеров. Он отвечает за активацию партнера и может также отключить его. Когда администратор активирует нового партнера, система создает уникальный токен, который будет использоваться партнером.
Продолжение учебника: Jobeet, день 3: Модель данных
Предыдущая запись: Jobeet, день 1: Начало проекта
Главная страница: Учебник Jobeet с Symfony 4.1