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:
- administrador admin): es el dueño del sitio y tiene todo el poder
- usuario user): visita el sitio web para ver ofertas de trabajo
- publicador poster): visita el sitio web para publicar ofertas de trabajo
- afiliado affiliate): publica en su propio sitio web algunas de las ofertas de trabajo
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.
2.2.1. Escenario F1: El usuario accede a la portada y ve las últimas ofertas de trabajo activas
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).
2.2.2. Escenario F2: El usuario puede visualizar todas las ofertas de trabajo de una categoría
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.
2.2.3. Escenario F3: El usuario refina el listado mediante palabras clave
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.
2.2.4. Escenario F4: El usuario pincha sobre una oferta de trabajo para ver más información
El usuario puede pinchar sobre una oferta de trabajo del listado para ver toda su información.
2.2.5. Escenario F5: El usuario publica una nueva oferta de trabajo
Los usuarios también puede publicar ofertas de trabajo, que incluyen la siguiente información:
- Empresa (company)
- Tipo de trabajo (type) que puede ser: jornada completa (full-time), jornada parcial (part-time) o freelance.
- Logo, que es opcional
- URL, que es opcional
- Puesto (position)
- Población (location)
- Categoría (category): seleccionada entre una lista de posibles valores
- Descripción (job description): los emails y URL que contenga se convierten automáticamente en enlaces
- Cómo solicitar el trabajo (how to apply): los emails y URL que contenga se convierten automáticamente en enlaces
- Pública (public): si la oferta se puede publicar en otros sitios web afiliados
- Email: del usuario que publica la oferta
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.
2.2.6. Escenario F6: El usuario quiere convertirse en un afiliado
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:
- Nombre (name)
- URL del sitio web (website URL)
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.
2.2.7. Escenario F7: Un usuario afiliado obtiene la lista de ofertas de trabajo activas
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.
2.2.8. Escenario B1: El administrador configura el sitio web
El administrador puede modificar las categorías disponibles en el sitio web.
2.2.9. Escenario B2: El administrador gestiona las ofertas de trabajo
El administrador puede modificar y borrar cualquier oferta de trabajo publicada.
2.2.10. Escenario B3: El administrador gestiona los afiliados
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.