Table of content
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
- limit the number of jobs to be returned
- refine his query by specifying a category
7. Admin configures the website
- edit the categories on the website
- edit and remove any posted job
- activating and deactivated affiliates
*Mockups source: symfony.com