Sector(s)
This project is an online tradesman discovery, listing, rating and hiring directory.
Service providers can create their profiles and apply for various jobs posted by user by submitting quotes and users can rate them after the job is complete. The ratings and reviews are afterwards displayed on the service provider’s profile.
About the project
Goals
This project is about finding right tradesman and service provider for your job. Different service providers register to the site and can create a profile. A person looking to get a job done will register as an user, and then will post a job, by adding various details. Once the job is posted, they can search for service providers, and invite them for submitting quotes. Also service providers can directly submit quotes to a job that matches his category. The jobs can have a limit on the number of quotes that can be submitted. Users can periodically review the quotes that have been submitted, can live chat with the service providers, and can reject those that does not interest him, making room for more quotes to be submitted in case if the job has a limit on number of quotes that can be submitted. Once an user has selected a quote, he can accept the quote, and the job status changes to in progress. As the job is completed, the user can come back to the site, mark the job as complete, and leave a feedback to the service provider, which is then displayed in his profile.
Requirements
- Allow users to register as a service provider or user. Service provider account comes with both user and service provider profile, but user account does not have service provider features.
- A detailed and interactive dashboard for both. Service providers can add their details and upload samples of work/photos in their gallery, as well as update different aspects of the profile to make it attractive. They can select their area of services. Then based on that, they are shown suggestions of open jobs available, which they can provide quote to. Also, they get a set of cool interactive graphs, which allows them to track their sales and progress through different jobs and their completion curves.
- Users can post jobs, through an interactive workflow, and can select and chat with the service providers through instant chat and/or private messages.
- On successful completion of the job, or on failure, users can provide a detailed rating to a service provider across three vertices - on time, on budget, quality. The average of these three ratings gets displayed on the service provider page.
- The client wanted a very simple yet elegant design.
- Responsive website based on bootstrap framework.
Architecture
The client came up with his requirement to us, and we needed to do the conceptualisation, design and implementation of this site. Based on the requirement, we suggested the build to be done based on Drupal 7 framework. During the discovery phase, we created various mockups, and short functional prototypes in order to finalise and seal off the feature set. All through, the client was really impressed with the responsiveness of our team, and the fact that we did not only develop things spec to spec but made some really good suggestions which made the product a lot better. Some of the architectural highlights of this project include:
- Implementation of the seller and buyer account types using the profile2 + profile2 registration path modules
- Most of the features were implemented using the drupal APIs incorporated into an well written and performant suite of custom modules.
- Views module was used extensively, but we did some excellent API usage of views to extend and later it’s query mechanism and capability, as well as to the theming layer.
- A clean theme implemented as bootstrap subtheme with proper usage of process and preprocess functions.
- Rules module was used extensively, to do various activities, like email scheduling and interactive workflow.
- Workbench moderation module was used to set up a review workflow for contents for the site editors and also the same module was used for review workflow for posted jobs.
Outcome
Overall, the site turned out to be really good in terms of design and performance. After about 4-5 months of development, working with us hand in hand in every stage, the client was overjoyed to see his idea finally translated to a beautiful and functional web product. Client accepted that the outcome was even better than what they had initially thought of. Our team was able to contribute handsomely during the discovery phase, bringing in new ideas and meaningful suggestions to the project and then our expert team of developers and designers were able to pull off the site to near perfection. The site is now used by a huge number of users and this fact in itself is a testimony to the good we have done on this project.
Why Drupal was chosen
The client already had Drupal in mind before they contacted us. They were not too sure of the exact benefits of using something like Drupal as framework, but they did some research and it struck the right chord with them. We did an in depth of review of their requirements and confirmed that using Drupal would give them right kind of base for this project and it would make further development and phased releases really well giving them a solid foundation. After due discussion, consensus was reached and we agreed on building this site in Drupal.
Technical Specifications
Drupal version:
Key modules/theme/distribution used:
The main bidding and job assignment functionality of the site was custom coded. Registration and Profile creation was handled by Profile2, Profile2 Registration Path and Account Profile Module. For Fields, we used extensively Field Collection and it's associated modules. Search needed to be very powerful and we created it using Search API + SOLR and facet API. Of course, needless to say, most of the display was done using views, but using heavy customisation through hook_views_query_alter and template modifications.