Symfony2 Jobeet Day 16: The Mailer

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. Yesterday, we added a read-only web service to Jobeet. Affiliates can now create an account but it needs to be activated by the administrator before it can be used. In order for the affiliate to get its token, we still need to implement the email notification. That’s what we will start doing in…

Symfony2 Jobeet Day 15: Web Services

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. With the addition of feeds on Jobeet, job seekers can now be informed of new jobs in real-time.On the other side of the fence, when you post a job, you will want to have the greatest exposure possible. If your job is syndicated on a lot of small websites, you will have a better chance to…

Symfony2 Jobeet Day 14: Feeds

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. If you are looking for a job, you will probably want to be informed as soon as a new job is posted. Because it is not very convenient to check the website every other hour, we will add several job feeds here to keep our Jobeet users up-to-date. Template Formats Templates are a generic way to…

Symfony2 Jobeet Day 13: Security

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. Securing the Application Security is a two-step process whose goal is to prevent a user from accessing a resource that he/she should not have access to. In the first step of the process, the authentication, the security system identifies who the user is by requiring the user to submit some sort…

Symfony2 Jobeet Day 12: Sonata Admin Bundle

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. With the addition we made in Day 11 on Jobeet, the application is now fully usable by job seekers and job posters. It’s time to talk a bit about the admin section of our application. Today, thanks to the Sonata Admin Bundle, we will develop a complete admin interface for Jobeet in less than an…

Symfony2 Jobeet Day 11: Testing your Forms

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. In day 10, we created our first form with Symfony 2.3. People are now able to post a new job on Jobeet but we ran out of time before we could add some tests. That’s what we will do along these lines. Submitting a Form Let’s open the JobControllerTest file to add functional tests for the job…

Symfony2 Jobeet Day 10: The Forms

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. Any website has forms, from the simple contact form to the complex ones with lots of fields. Writing forms is also one of the most complex and tedious task for a web developer: you need to write the HTML form, implement validation rules for each field, process the values to store them in a…

Symfony2 Jobeet Day 9: The Functional Tests

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. Functional tests are a great tool to test your application from end to end: from the request made by a browser to the response sent by the server. They test all the layers of an application: the routing, the model, the actions and the templates. They are very similar to what you probably already…

Symfony2 Jobeet Day 8: The Unit Tests

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. Tests in Symfony There are two different kinds of automated tests in Symfony: unit tests and functional tests. Unit tests verify that each method and function is working properly. Each test must be as independent as possible from the others. On the other hand, functional tests verify that the…

Symfony2 Jobeet Day 7: Playing With the Category Page

* This article is part of the original Jobeet Tutorial, created by Fabien Potencier, for Symfony 1.4. Today we will make the Category page like it is described in the second day’s requirements: “The user sees a list of all the jobs from the category sorted by date and paginated with 20 jobs per page“ The Category Route First, we need to add a route to define a pretty URL for the category…