Jobeet, Día 2: El Proyecto

Symfony

Este día tratará sobre algo que habría que hacer por cada proyecto (algo que nunca hago y así me va) que es las especificaciones.

Como solo es texto casi todo sera un copia y pega del proyecto original.

El Foco del Proyecto

Todo el mundo está hablando de la crisis hoy en día. El desempleo está aumentando de nuevo.

Lo sé, los desarrolladores symfony no están realmente interesados y esto es porque quieren aprender symfony en primer lugar. Pero también es bastante difícil encontrar desarrolladores symfony buenos.

¿Dónde puedes encontrar un desarrollador symfony? ¿Dónde puedes anunciar tus habilidades symfony?

Necesitas encontrar una buena Bolsa de Trabajo. ¿Monster dices? Piensa de nuevo. Necesitas una Bolsa especializada. Una donde puedas encontrar a las mejores personas, los expertos. Una donde sea fácil, rápido y divertido buscar un puesto de trabajo, u ofrecer uno.

No busques más. Jobeet es el lugar. Jobeet es un software Open-Source para Bolsas de Trabajo que sólo hace una cosa, pero la hace bien. Es fácil de usar, personalizar, ampliar, e incluir en tu sitio web. Soporta múltiples idiomas, y utiliza las últimas tecnologías Web 2.0 para mejorar la experiencia del usuario. También proporciona feeds y una API para interactuar con él programáticamente.

¿Ya existe? Como usuario, encontrarás un montón de Bolsas de Trabajo como Jobeet en Internet. Pero trata de encontrar una que sea Open-Source (Código Abierto), y con especiales características como las que proponemos aquí.

Si realmente estás buscando un empleo con symfony o quieres convertirte en un desarrollador symfony, puedes ir al sitio web symfonians.

Los Casos de Uso del Proyecto

Antes de meternos en el código de cabeza, vamos a describir el proyecto un poco más. Las secciones siguientes describen las características que queremos aplicar en la primera versión / iteración del proyecto con algunos Casos de Uso sencillos.

El sitio web Jobeet tiene cuatro tipo de usuarios:

  • administrador: Él es el propietario de la página web y tiene poderes mágicos
  • user: Visita la página web para buscar un puesto de trabajo y se postula para uno
  • poster: Visita la página web para envíar/ofrecer un puesto de trabajo
  • affiliate: El re-publica algunos trabajos en su página web

El proyecto tiene dos aplicaciones: el frontend (Casos de Uso F1 a F7, que están más abajo), donde los usuarios interactúan con el sitio web, y el backend(Casos de Uso B1 a B3), donde los administradores gestionan el sitio web.La aplicación backend tiene seguridad y requiere de credenciales para acceder.

En symfony2 ya no existen las aplicaciones como existían en la versión anterior, por lo que nosotros solo tendremos un bundle y configuraremos la seguridad para ciertas rutas dentro de el. (También otra opción podría ser crear un bundle por separado para la parte de administración.) La organización del proyecto es más a gustos pero lo mejor sería intentarlo hacer de la forma más modular posible.

Caso de Uso F1: En la página principal, los usuarios ven los últimos puestos de trabajo activos.

Cuando un usuario entra a la página web Jobeet, ve una lista de los puestos de trabajo activos. Los puestos de trabajo se clasifican por categoría y a continuación, por fecha de publicación (los nuevos puestos de trabajo primero). Para cada puesto de trabajo, sólo la ubicación, la posición, y la empresa se muestran.

Para cada categoría, la lista sólo muestra los primeros 10 puestos de trabajo y un enlace permite listar todos los puestos de trabajo para una categoría determinada (Caso de Uso F2).

En la página principal, el usuario puede refinar la lista de puestos (Caso de Uso F2), o enviar un nuevo puesto de trabajo (Caso de Uso F5).

Pagina principal Jobbet

Caso de Uso F2: Un usuario puede solicitar todos los puestos de trabajo de una categoría determinada

Cuando un usuario hace clic en el nombre de una categoría o en un enlace “more jobs” (más trabajos) en la página de inicio, verá todos los puestos de trabajo para esta categoría ordenados por fecha.

La lista está paginada, con 20 puestos de trabajo por página.

Jobbet Trabajos por categoría

Caso de Uso F3: Un usuario refina la lista con algunas palabras clave

 

El usuario puede introducir algunas palabras clave para refinar su búsqueda. Las palabras clave pueden ser palabras se encuentra en los campos de la ubicación, la posición, la categoría, y de la companía.

Caso de Uso F4: Un usuario hace clic en un puesto de trabajo para ver información más detallada

El usuario puede seleccionar un trabajo de la lista para ver información más detallada.

Jobbet, Detalle del trabajo

Caso de Uso F5: Un usuario envía un puesto de trabajo

Un usuario puede envíar un puesto de trabajo. Un puesto de trabajo está formado por varias partes de información:

  • Compañía
  • Tipo (full-time, part-time, o freelance)
  • Logo (opcional)
  • URL (opcional)
  • Posición
  • Ubicación
  • Categoría (el usuario elige una de una lista de posibles categorías)
  • Descripción del trabajo (URL y correos electrónicos son enlazados de forma automática)
  • Cómo aplicar (URL y correos electrónicos son enlazados de forma automática)
  • Público (si el trabajo también pueden ser publicados en sitios web afiliados)
  • Email (email del oferente)

No hay necesidad de crear una cuenta para crear un puesto de trabajo.

El proceso es sencillo con sólo dos pasos: en primer lugar, el usuario rellena el formulario con toda la información necesaria para describir el trabajo y, a continuación, se valida la información con una vista previa de la página de empleo final.

Incluso si el usuario no tiene cuenta, un puesto de trabajo pueden ser modificado después, gracias a un URL concreto (protegido por un token dado al usuario cuando crea el puesto de trabajo).

Cada puesto de trabajo está en línea durante 30 días (esto es configurable por el administrador – ver (Caso de Uso B2). Un usuario puede volver a activar y extender la validez de un puesto de trabajo por 30 días extra pero sólo cuando el trabajo expira y entonces tiene menos de 5 días para hacerlo.

Jobbet, crear trabajo

Caso de Uso F6: Un usuario se registra para ser un afiliado

Un usuario para re-publicar necesita convertirse en un afiliado y ser autorizado a utilizar la API de Jobeet. Para afiliarse, debe dar la siguiente información:

  • Nombre
  • Email
  • URL del sitio web

La cuenta de afiliado debe ser activada por el administrador (Caso de Uso B3). Una vez activada, el afiliado recibe un token via email para poder usar la API.

Cuando se registra, el afiliado puede también elegir los puestos de trabajo a obtener de un sub-conjunto de las categorías disponibles.

Caso de Uso F7: Un afiliado recupera la lista activa de puestos de trabajo

Un afiliado puede recuperar la actual lista de puestos de trabajo llamando a la API con su token de afiliado. La lista puede ser devuelta en formato XML, JSON o YAML.

La lista contiene la información pública disponible para un puesto de trabajo.

El afiliado también puede limitar el número de puestos de trabajo a ser devueltos, y refinar su consulta especificando una categoría.

Caso de Uso B1: Un administrador configura el sitio web

Un administrador puede modificar las categorías disponibles en el sitio web.

También puede hacer algunos ajustes:

  • El número máximo de puestos de trabajo que figura en la página de inicio
  • Idioma de la página web
  • Número de días que un trabajo está en línea

Caso de Uso B2: Un administrador gestiona los puestos de trabajo

Un administrador puede editar y eliminar cualquier puesto de trabajo publicado.

Caso de Uso B3: Un administrador gestiona los afiliados

El administrador puede crear o editar los afiliados. Él es el responsable de la activación de un afiliado y también puede desactivarlo.

Cuando el administrador activa un nuevo afiliado, el sistema crea un único token para ser utilizado por ese afiliado.

Y para terminar como bien dice el proyecto original:

Como para cualquier desarrollo web, nunca inicies la codificación del primer día. Necesitas primero reunir los requisitos y trabajar en un mockup de diseño. Eso es lo que hemos hecho hoy.

Proyecto original: http://www.symfony-project.org/jobeet/1_4/Doctrine/es/02

Deja un comentario

  • (will not be published)


+ 3 = 12