![]() |
|
Practical symfonyDia 2: O Projeto |
|
You are currently reading "Practical symfony" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

|
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. |
Nós não escrevemos uma única linha de código PHP ainda, mas ontem, nós configuramos o ambiente de desenvolvimento, criamos um projeto symfony vazio e temos certeza que iniciamos com bons padrões de segurança. Se você seguiu junto, tem olhando para a sua tela deleitadamente desde então, pois ela exibe a bela página padrão do symfony para novas aplicações.

Mas você quer mais. Você quer aprender o âmago da questão, todos os detalhes do desenvolvimento de aplicativos com o symfony. Então, vamos retomar a nossa viagem ao nirvana do desenvolvimento symfony.
Hoje, vamos ocupar o tempo descrevendo os requisitos do projeto Jobeet com alguns protótipos básicos.
Todo o mundo está falando sobre a crise atual. O desemprego está crescendo novamente.
Eu sei, desenvolvedores symfony não estão realmente preocupados e é por isso que você quer aprender symfony em primeiro lugar. Mas também é bastante difícil encontrar bons desenvolvedores symfony.
Onde posso encontrar um desenvolvedor symfony? Onde você pode anunciar as suas habilidades symfony?
Você precisa encontrar um bom job board. Monstruoso você diz? Pense novamente. Você precisa de um job board focado. Um onde você possa encontrar as melhores pessoas, os experts. Um onde seja fácil, rápido e divertido procurar um emprego ou propor um.
Não precisa mais procurar. Jobeet é o lugar. Jobeet é um Software de Job Board Open-Source
que só faz uma coisa, mas a faz bem. É fácil de usar, personalizar,
estender e adicioná-lo em seu site. Suporta múltiplos idiomas out of the
box, e, naturalmente, utiliza as tecnologias Web 2.0 mais recentes para otimizar a experiência do usuário.
Ele também fornece feeds e uma API para interagir com ele programaticamente.
Será que já não existe? Como um usuário, você encontrará muitos job boards como o Jobeet na Internet. Mas tente encontrar um que é Open-Source e com características ricas como as que propomos aqui.
E quem disse que levará menos de 24 horas para desenvolver com symfony? Bem, é melhor começarmos agora mesmo!
Antes de mergulhar precipitadamente no código, vamos descrever o projeto um pouco mais. As seções seguintes descrevem as características que queremos implementar na primeira versão/iteração do projeto, com algumas histórias simples.
O site do Jobeet possui quatro tipos de usuários:
O projeto tem duas aplicações: a frontend (histórias F1 à F7, abaixo), onde os usuários interagem com o site, e a backend (histórias B1 à B3), onde administradores gerenciam o site.
A aplicação backend é segura e requer credenciais para acesso.
Quando um usuário visita o site do Jobeet, ele vê uma lista dos empregos ativos. Os empregos são classificados por categoria e, em seguida, pela data de publicação (empregos mais novos em primeiro lugar). Para cada emprego, apenas a localização, a posição e a empresa são exibidas.
Para cada categoria, a lista exibe somente os 10 primeiros empregos e um link permite listar todos os empregos para uma determinada categoria (História F3).
Na página inicial, o usuário pode refinar a lista de empregos (História F2), ou postar um novo emprego (História F5).

Quando um usuário clica no nome de uma categoria ou no link "mais empregos" na página inicial, ele vê todos os empregos para essa categoria, ordenados por data.
A lista é paginada com 20 empregos por página.

O usuário pode digitar algumas palavras-chave para refinar sua busca. As palavras-chave podem ser palavras encontradas nos campos do local, posição, categoria ou da empresa.
O usuário pode selecionar um emprego a partir da lista para ver informações mais detalhadas.

Um usuário pode postar uma oferta de emprego. Um emprego é composto de várias partes de informação:
Não há necessidade de criar uma conta para postar um emprego.
O processo é simples, com apenas dois passos: primeiro, o usuário preenche um formulário com todas as informações necessárias para descrever o emprego, então, ele valida a informação mediante a visualização da página final do emprego.
Mesmo se o usuário não tiver uma conta, um emprego pode ser modificado depois graças a uma
URL específica (protegida por um token dado ao usuário quando o emprego é criado).
Cada trabalho postado ficará online por 30 dias (este tempo é configurável pelo administrador - veja a História B2). Um usuário pode voltar para reativar ou prorrogar a validade do um anúncio de emprego para mais 30 dias, mas somente quando o trabalho expirar em menos de 5 dias.

Um usuário precisa fazer uma solicitação para se tornar um afiliado e ser autorizado a utilizar a API do Jobeet. Para se candidatar, ele deve fornecer as seguintes informações:
A conta de afiliado deve ser ativada pelo administrador (História B3). Uma vez
ativada, o afiliado recebe através de e-mail um token para usar com a API.
Quando se aplicar, o afiliado pode também escolher buscar empregos a partir de um sub-conjunto das categorias disponíveis.
Um afiliado pode recuperar a lista dos empregos atuais chamando a API com o seu
token de afiliado. A lista pode ser devolvida nos formatos XML, JSON ou YAML.
A lista contém as informações públicas disponíveis para o emprego.
Os afiliados também podem limitar o número de empregos a serem devolvidos, e refinar sua consulta, especificando uma categoria.
Um administrador pode editar as categorias disponíveis no site.
Ele também pode alterar algumas configurações:
Um administrador pode editar e remover qualquer emprego postado.
O administrador pode criar ou editar afiliados. Ele é responsável pela ativação de um afiliado e também pode desativar um.
Quando o administrador ativa um novo afiliado, o sistema cria um token único para ser utilizado pelo afiliado.
Como para qualquer desenvolvimento web, você nunca começa codificando no primeiro dia. Você precisa reunir os requisitos em primeiro lugar e trabalhar em um protótipo do design. Isso é o que nós fizemos hoje.
Tal como ontem, o código de hoje está disponível no repositório SVN do Jobeet.
Faça o checkout do release_day_02:
$ svn co http://svn.jobeet.org/tags/release_day_02/ jobeet/
If you find a typo or an error, please register and open a ticket.
If you need support or have a technical question, please post to the official user mailing-list.