Antes de meternos de lleno con el código, vamos a describir un poco más las características del proyecto. Las siguientes secciones utilizan diferentes escenarios y bocetos gráficos para describir todas las características que se quieren incluir en la primera versión o iteración del proyecto.
El sitio web de Jobeet dispone de cuatro tipos de usuarios:
El proyecto se compone de dos aplicaciones: frontend (escenarios F1 a F7), donde los usuarios interactuan con el sitio web, y el backend (escenarios B1 a B3), donde los administradores gestionan el sitio web.
La aplicación backend dispone de acceso restringido y requiere ciertas credenciales para acceder.
Cuando el usuario accede a la portada de Jobeet, ve la lista de ofertas de trabajo activas. Las ofertas se agrupan por categoría y se ordenan por fecha de publicación (primero se muestran los trabajos más recientes). Para cada oferta se muestra la población, el puesto y la empresa.
Para cada categoría sólo se muestran las primeras diez ofertas y el resto se pueden visualizar pulsando sobre el enlace disponible (ver escenario F2).
En la portada el usuario también puede refinar el listado de ofertas (escenario F3) o publicar una nueva oferta (escenario F5).
Figura 2.2. Boceto de la portada del sitio
Cuando el usuario pulsa sobre el nombre de una categoría o sobre el enlace para ver más trabajos, se muestra el listado completo de todas las ofertas de trabajo ordenadas por fecha. Este listado incluye una paginación con 20 ofertas por página.
Figura 2.3. La página de la categoría
El usuario puede utilizar palabras clave para refinar la búsqueda. Estas palabras clave se buscan en los campos de la población, el puesto, la categoría y la empresa.
El usuario puede pinchar sobre una oferta de trabajo del listado para ver toda su información.
Figura 2.4. La página de detalle de una oferta de trabajo
Los usuarios también puede publicar ofertas de trabajo, que incluyen la siguiente información:
Para publicar una oferta de trabajo no es obligatorio registrarse en el sitio web. El proceso es muy sencillo porque sólo se compone de dos pasos: primero el usuario rellena el formulario con toda la información necesaria para describir la oferta de trabajo y a continuación, valida la información mediante la previsualización de la página de la oferta.
Aunque los usuarios no se registran, las ofertas de trabajo se pueden modificar posteriormente gracias a una URL específica protegida con un token que se proporciona al usuario al crear la oferta de trabajo.
Cada oferta tiene un período de validez de 30 días (configurable por el administrador, como se detalla en el escenario B2). Los usuarios pueden reactivar y extender la validez de la oferta por otros 30 días siempre y cuando falten menos de cinco días para que la oferta expire.
Figura 2.5. La página para insertar una nueva oferta de trabajo
Los usuarios que quieren convertirse en afiliados deben solicitarlo y deben obtener una autorización para utilizar la API de Jobeet. Para realizar la solicitud es necesario proporcionar la siguiente información:
Los administradores activan las cuentas de usuario de los afiliados (escenario B3). Una vez activada la cuenta, el afiliado recibe por email un token para utilizar la API.
Cuando realizan su solicitud, los afiliados pueden indicar que sólo quieren obtener las ofertas de trabajo relacionadas con una serie de categorías específicas.
Los afiliados pueden utilizar el token proporcionado para obtener la lista de ofertas de trabajo activas mediante la API del sitio web. El listado se puede devolver en los formatos XML, JSON o YAML.
El listado contiene la información pública disponible para cada oferta de trabajo. Los afiliados también pueden limitar el número de ofertas de trabajo del listado y pueden especificar una categoría para refinar la búsqueda.
El administrador puede modificar las categorías disponibles en el sitio web.
El administrador puede modificar y borrar cualquier oferta de trabajo publicada.
El administrador puede crear y modificar afiliados. Además de ser el responsable de activar a cada afiliado, también puede deshabilitar a cualquier afiliado activo.
Cuando el administrador activa a un nuevo afiliado, el sistema crea un token único para que lo utilice ese afiliado.
válido para Symfony 1.2