So, today I finally launched a very large project that I have been working on for while. It’s a system for a Staffing company that hires people to work on events, promoting brands, they are called Brand Ambassadors.
The major problem, this client had, was handling hundreds, perhaps thousands, of documents. Each staff member had at least 3 documents attached to theirs profile. A contract agreement that had to be signed by both sides, a signed W-9 form and a direct deposit document.
The client needed a solution to simplify the staff registration. He also needed a simple way to handle the documents mentioned above. He also requested us to create a registration processes for his clients (Brands).
Another portion of the scope was the users dashboard. Where staff members after succesfuly logging in, could see/update theirs profiles, apply to events (previously entered by managers) and see the events they have been selected. Event selection is made by managers in the back-end of the site. Theirs clients also have a their own custom dashboard after succesfully registering and activated by managers afterwards.
For the events, every time there’s a new event, managers will have the option to notify the staff members that during the registration process are located or available at the event’s region/city.
The site also had to have improved search functionality, filtering and customization of the default wp-admin.
So the solution we found included:
- Use Gravity Forms for the registration pages (Clients and Staff). Including a multi-step form that allow save-for-later use and a PDF generation add-on;
- Use Advanced Custom Fields (ACF) and Custom Post Types (CPT) for events, clients and staff;
- Custom code to map Gravity Forms entries to ACF/CPT;
- Custom code to modify the events CPT to allow the users notifications;
- Custom built front end dashboards for all users and front-end form to allow update profiles;
- Custom built user based menus (meaning if user is a staff member will see menu items that are not available to others);
- Custom rule based login redirection.
On top of all the functionality above we also did:
- Redesigned the site;
- Made the site mobile friendly;
- Enforced HTTPS (ssl) across all the site’s pages;
- Redirected links to the old site to the new site.
A few challenges we encontered:
- Previous registered users had to be imported in to the new system;
- The site file size is growing super fast since every new staff application could upload 5 files (4 profile pictures + 1 resume);
- Security. We are storing sensitive information and had to make sure it was encrypted;
So the solution for the problems above:
- Created a custom coded script to load the previous registered users, formated them the right way and inserted in the database;
- Installed plugins to manage file size optimization;
- Installed security plugins and coded using best encryption practices.
Other technical details about this site:
- Hosting: Godaddy VPS plan
- WordPress Framework: Genesis
- Theme: Executive Pro
- Backup: BackupBuddy (Stored on Amazon S3).
If you are in the staff business I’d recommend you take a look at Promo Staffing Website.