Welcome to WebmasterWorld Guest from 220.127.116.11
The main functionality I need in this simple web application are:
1- Allow "Candidate" to Edit his/her profile.
2- Allow "Admin" to view and search candidates' profiles.
Each candidate profile will consists of a number of form fields. I want the admin to be able to search the profiles using different criteria for each of those form fields.
Of course for candidates to Edit their profiles, there needs to be a system for registration and user authentication.
What are my different options for building such application?
Here are the options that came to my mind, but I do not know which one to pick and which is even possible for my case:
1- Install a free ready made open source application that does exactly what you need (job site). (I searched, but did not come up with any suitable one).
2- Find some popular open source CMS, install it, and configure it to work for your needs. (I tried this, but found that Drupal and similar open source CMS only do free text search, they do not provide search criteria for fields in a form.)
3- Get an open source CMS, customize it by altering its code (or perhaps creating a module) until it fits your needs. (That sounds like an option, but might include really much work, and not sure if it will work at the end.)
4- Use some PHP framework (such as CakePHP) to develop the application rapidly. (That sounded to me like a good option. So which framework shall I choose?)
5- Build the whole application from scratch, including the user sign up, sign in, forgot password, authentication, email confirmation ... etc. all from scratch! (This option sure does sound like it would work, yet would take really a lot of work and effort, not to mention that at the end it might still have bugs and not function like the standard way users are used to and comfortable with.)
In addition to those 5 options above, there can be added the option of finding some PHP scripts and building on them and/or integrating them together to build my application.
I believe I find the option of using a PHP framework the most appealing to me as it gives me power and flexibility yet at the same time reduced effort and risk compared to the build-from-scratch option. The question in that case would thus boil down to which PHP framework should I go for?
So now that you've known my problem and the options I have in mind, what path do you recommend for me to build that simple web application for my small recruitment agency?
Ashraf Al Shafaki
Although making it from scratch seems like a lot of work, think about it in the long run - if you find a bug it will be easier to find as you will know the code inside out - but if this was some open source code, would you know how to fix it?
Alot of these CMS are over-rated, they seem to be very limited in the ability to provide flexibility in the code - meaning you can only have something if it's available.
If you need any assistance with the programming with and framework cakePHP, smarty etc or even from scratch then please ask for any assistance, i have worked with several recruitment websites and understand the basic concepts and functionality requirements.
Good luck and i hope i have answer something here today ;-)
You're comments about open source CMS systems and the benefits of starting from scratch are enlightening.
If I was to go for the framework option, which framework should I choose?
Another question is: is there some ready-made way in PHP to do user management (sign up, sign in, email confirmation, forgot password ...)?
Ashraf Al Shafaki
I'm in the process of 're-building' a site, and every line of code is mine. Through the years that site has progressed from static pages to dynamic and fully interactive pages, and there is little I don't know about each page. I have also built sites using CMS, and by far I get more 'feel-good' from my own work. And, there's nothing that says I can't beg or borrow from a CMS to incorporate ideas or functionality. I'm not exactly re-inventing the wheel, just making it roll to fit my needs.
You say this is a simple web application, and it is. Work out each function of your design, then put it all together. You'll be glad you did.