Senior Drupal Developer at AAT, 10 months contract.

Company details
AAT (Association Accounting Technicians) 140 Aldersgate Street London EC1A 4HY
Job title
Drupal 7 Developer
Period
From To

8 March - 20 Sept 2016, AAT (Association Accounting Technicians) London EC1A 4HY. Custom migration modules, registration forms, set up the single sign on module on multiple domain, custom entity classes, hooks, permissions, set new roles and dashboards. All code integrated and build through Jenkins.

AAT is a charity that helps Student to enhance their Professional career in Accounting. AAT offer courses to become Licensed Accountant or Licensed Bookkeeper and they also provide a directory of Qualified Professional Accountants and Bookkeepers.
They have a custom CRM that hold all the information about Training Providers, Courses, Studying Material, Students details, Licensed Accountant or Bookkeeper, registration questions, Payment Details, professional body directory.
Student have to pay a annual fee, after they get the required qualifications they can register in the Professional Directory.
Drupal is fully integrated with this custom CRM.
I built Custom migration modules to migrate content from CRM to Drupal. Building registration forms fully integrated with CRM: Drupal loads all the questions stored in CRM and render them as multi step forms (Ctools), collects the registration data and then send back as a Payload to CRM. Everything is handled by a queue so that there are Processes that try to send the Payload to CRM and the job is marked as processed and taken out from the queue once the data is successfully stored and processed by CRM!

Technologies

Integrating Drupal 7 with a Custom CRM (Central User Repository, Single Sign On Multiple Domain, User Roles, Registration, Authentication, Authorization), Migrate, Bootstrap Sub Theme, Angular, Form API, Reusable multi step forms using Ctools and workflow, Custom Entities, Content types, Views, Features, Panels, Dashboards, Entity API, Entity Reference, Custom module development for CRM Entities Migration, hooks (schema, install, menu, form_alter, theme, permission), GitHub, Jenkins, PHP Units, Ant Build, Deploy on AWS Amazon.

Project Description

Custom migration modules, custom reusable registration forms with workflow, set up the single sign on module on multiple domain to integrate Drupal secure connection with other systems, custom entity classes, hooks, permissions, set new roles and dashboards. All code integrated and build through Jenkins.

Responsibility

AAT is a Drupal multi-sites that interacts with a Custom CRM. I worked as a Senior Drupal Developer in a team of 7 other developers (3 front end, 4 Senior Drupal Developers), I built custom drupal migrate modules to migrate data from their custom CRM, I set up new custom entities (Drupal schemas) such as subscription types, invoices, payments, payloads, new dashboards and new roles. Data is processed from CRM to Drupal through the queue module that executes a task grabs the information from CRM through a fetch XML and then populates (insert or update) the proper entity (class that extends EntityAPIController).

Technologies and Methodologies: Drupal 7, Migration, Entity API, Form API, Hooks. Tools: PHP Storm, Grunt, GitHub, Putty, PHP-unit test, Apache Ant, Bower. The code is continuously integrated through Jenkins that runs a build (triggered by changes from GitHubs), the build ([ant] built) runs all the Php-Unit tests to cover the new functionalities and then deploys the code if build was successful. Changes are requested through pull requests and code reviews.