Wasro
A full-featured job listings website produced for Abraxor
Development Period: January 2007 to April 2007.
Coded With: PHP, SQL, HTML, CSS and JavaScript.
Tools Used: CakePHP, MySQL, jQuery, Adobe Photoshop and Eclipse.
Tagged As: Web and Work.
About
My main focus while working at Abraxor was Wasro, a job listings website.
I developed the project from scratch, from the initial stages of data modelling and interaction planning through to the actual production of the site's back-end logic, presentation code and graphics.
Site viewers benefit from several useful features like browsing jobs by category, subcategory or tag. An advanced search feature offers great control over the results returned.
An administration area provides several levels of access. Wasro staff can manage almost anything: job listings, categories and subcategories, job tags, user accounts and page content. Registered employers can manage their profile details, job listings and payments. Registered job-seekers can manage their profile details, stored CVs and listings of interest.
Technical Details
The following features were implemented:
- Online payment. After creating listings, employers can add them to a custom-made shopping basket and pay for them with a credit card. The site communicates with the Nochex payment system and updates the database when a payment has been successfully made.
- Tidy URLs. As ever, Cake's routing capabilities allow extremely tidy URLs. Slugs - short, URL-safe identifiers for database entries - are also used. As a result, a typical link such as
/jobs/category/salesis easy to remember, easy to recite and fast to type. - Fine-grained permissions management with ACL. A means of cross-referencing the user making an access request (an ARO) with the particular resource they are requesting (an ACO), and determining whether access should be granted.
- Advanced search with named parameters. Jobs can be filtered by any combination of criteria. For example, a list of jobs in the subcategory web development that are full-time and have been posted by ACF Recruitment would give a relative URL of
/jobs/search/subcategory:web_development/job_type:full-time/user:acf. - jQuery-based dynamic elements that degrade gracefully. jQuery is used to add dynamic content where appropriate. This includes the use of the
slideUp()andslideDown()functions for elements like the advanced search and viewing options. The admin area also has unobtrusive help tips which work in a similar way. - Lean markup. Presentation code is simple, neat and standards-compliant.
Links
- Development version. A copy of the site as I left it.
- Live version. The current version of the site, which has now been worked on by other developers.
