[ 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

    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

    symfony homepage mockup

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

    symfony category mockup

    3. User can see details of selected job

    symfony job mockup

    4. User can post a job

    symfony post mockup

    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:

    • limit the number of jobs to be returned
    • refine his query by specifying a category

    7. Admin configures the website

    Admin can:

    • edit the categories on the website
    • edit and remove any posted job
    • activating and deactivated affiliates

    *Mockups source: symfony.com