[ Part 2 ] - What functionality will have our Jobeet application?

Symfony 2 Jobeet tutorial - What are we gonna build in details.

Posted by Lukasz D. Tulikowski on February 3, 2017

Table of content

Follow me on Twitter

The Project

We have not written a single line of PHP yet, but we set up and the environment created an empty symfony project. If you followed along, you have been looking at your screen delightedly since then, as it displays the beautiful default symfony page for new applications.

What we are going to build?

Jobeet is Open-Source job board software that only does one thing, but does it well. It is easy to use, customise, extend, and embed into your website. It supports multiple languages out of the box, and of course uses the latest Web 2.0 technologies to enhance user experience. It also provides feeds and an API to interact with it programmatically.

The Project User Stories

Before diving into the code head-first, let’s describe the project a bit more. The following sections describe the features we want to implement in the first version/iteration of the project with some simple stories.

The Jobeet website has four kinds of users:

admin: He owns the website and has the magic power

user: He visits the website to look for a job

poster: He visits the website to post a job

affiliate: He re-publishes some jobs on his website

The project has two applications: the frontend where the users interact with the website, and the backend where admins manage the website.

The backend application is secured and requires credentials to access.

1. On the homepage, user can see the latest jobs

2. User can choose category from which he want to see jobs

3. User can see details of selected job

4. User can post a job

5. User can apply to become an affiliate

User can become Affiliate and be authorised to use our Jobeet API.

6. Affiliate can retrieve the currently active job list

Affiliate will be able to retrieve the current job list by calling the API with his affiliate token. The list can be returned in the XML, JSON or YAML format.
Affiliate can: