Development

Documentation/zh_CN/jobeet/1.2/02

You must first sign up to be able to contribute.

第二天: 项目

昨天我们没有编写任何 PHP 代码就已经搭建好了开发环境、还创建了空的 symfony 项目, 并确保我们以一些好的安全默认值开始。如果照做了的话,一定会非常惊喜的发现, 新应用程序的默认 symfony 页面非常漂亮。

欢迎页

但你想要更多。你想知道 symfony 应用程序开发的一切细节。那么,继续我们的 symfony 开发之旅吧。

今天,我们花点时间来谈谈 Jobeet 项目的需求,并做一些基本的~模拟~。

项目起源

现在很多人都在讨论经济危机。失业率又上升了。

我知道, symfony 开发者并不会担心,这正是为什么要在第一时间学习 symfony 的原因。 但是要找到优秀的 symfony 开发者也很困难。

到哪里找 symfony 开发者呢?到哪里宣传你的 symfony 开发技能呢?

你需要一个好的招聘网。你说 Monster 啊?再想想。 你需要一个很多人都在关注的招聘网。 在那里你可以找到最好的人选,专家。 在那里,你也可以轻松、快速并很有趣的寻找工作或者推荐人才。

不用找了, Jobeet 就是你要找的。 Jobeet 是一个开源的招聘求职软件, 它专注于一件事儿,并认真做好。 使用、定制、扩展功能都很方便,你还可以将它嵌入到你的网站中。它支持多国语言, 当然还会使用最新的 Web 2.0 技术来提升用户体验。 它还会提供订阅种子和方便实战的 API 供您交互。

有这样的项目存在吗?作为因特网用户, 你可以找到非常多的和 Jobeet 类似的招聘网站。 但是,没有任何一个是开源的,也没有任何一个有如此丰富的功能。

是谁说过用 symfony 开发连24个小时都不用?赶紧的,我们开始吧。

NOTE 如果你真正要找一份 symfony 工作或者要雇用基于 symfony 的开发人员, 可以到 symfonians 站点看看。

项目的~用户故事~

在冒失地埋头编码之前,我们先描述一下项目。下面的几个小节里,我们用几个简单的故事 来描述在第一个版本(第一次迭代)中我们将要实现的功能。

jobeet 网站有以下四类用户:

  • admin:拥有网站并有最高权限
  • user:访问网站找工作的求职者
  • poster:访问网站发布工作的招聘者
  • affiliate:在联营用户自己的网站上再发布 Jobeet 上的工作

项目包含两个应用程序:和用户直接打交道的前台 (用户故事 F1到 F7,如下所示)以及 管理员管理网站所用到的后台(用户故事B1到B3)。

后台应用程序被安全保护需要密码登录。

用户故事 F1: 首页,用户能看见最新的活跃工作

当用户访问 Jobeet 网站时将看到一个活跃的工作列表。工作将按照分类和发布时间先后 (新工作在前)排列,每个工作只需展示地址、岗位和公司等字段。

列举每个分类下的前10个工作,并链接到该分类(用户故事 F2)的所有工作列表的页面。

在首页,用户还可以优化工作列表(用户故事 F3)或者发布新工作(用户故事 F5)。

首页模拟

用户故事 F2: 用户可以查找指定分类下的所有工作

用户在首页点击分类名称或者“更多工作”的链接后,可以看见该分类下的所有工作,按照时间先后排列。

工作列表按照每页20个工作的规则进行分页。

分类页面

用户故事 F3: 用户通过关键词筛选工作列表

用户可以通过输入关键词来优化搜索。关键词可以用来匹配地点、职位、分类和公司等字段。

用户故事 F4: 用户点击工作可查看更多详细信息

用户可以从列表中点击工作来查看详细信息。

工作详细页面

用户故事 F5: 用户发布工作

用户可以发布工作。一个工作由以下几部分组成

  • 公司
  • 类型(全职、兼职、自由职业)
  • Logo(可选)
  • URL (可选)
  • 职位
  • 地点
  • 分类 (用户从后台预设的分类中选取)
  • 工作介绍(自动为URL和email创建链接)
  • 怎样申请(自动为URL和email创建链接)
  • 公开 (推广网站是否可以推广该工作)
  • Email (发布人的Email)

发布工作不需要创建帐号。

发布流程只需简单的两步:用户先在表单中填写描述工作的必要信息, 然后通过预览最终工作展示页来确认提交。

即使用户没有帐号,工作仍可通过特别的 URL 地址来修改。帖子创建成功时, 创建者将获得该地址的保护密码。

每个帖子可持续在线30天(这个可以在后台配置——参见用户故事B2)。用户可以重新 激活并验证其有效性,再增加30天在线时间。但是帖子下线超过5天后就可不再修改了。

工作创建页面

用户故事 F6: 成为联营用户

用户需要申请注册为联营用户才能授权使用 Jobeet 的 API。申请时必须提供如下信息:

  • 姓名
  • Email
  • 网站 URL

联营用户账号必须通过管理员后台激活(用户故事 B3)。 激活后,联营用户可以通过 email 取得使用 API 的令牌。

申请过程中,联营用户也能从可用分类的子类中选择工作。

用户故事 F7: 联营用户获取当前活跃的工作列表

联营用户可以使用自己的令牌通过 API 调用获取当前活跃的工作列表。 返回的工作列表可以是 XML、JSON 或 YAML 格式。

列表包含工作的公开的可用的信息。

联营用户可以限定返回工作列表的数目,也可通过指定分类来优化查询。

用户故事 B1: 管理员配置网站

管理员可以修改网站可用的分类。

用户故事 B2: 管理员管理工作

管理员可以修改或者删除任何已发布的工作。

用户故事 B3: 管理员管理联营用户

管理员可以创建或编辑联营用户,有权激活联营用户或者取消某个联营用户的权限。

当管理员激活联营用户帐号时,系统自动为联营用户创建唯一的令牌。

明天见

就 web 开发而言,你永远不要在第一天就开始编码。你应该首先收集需求并做 模拟设计。这就是我们今天所做的。

ORM