I worked 7 months for The Association of Accounting Technicians (AAT) website which is designed to target mostly all firm related to Accounting Training and Education and they also offers student membership to young people or professional who have a keen interested in learning Accounting and find flexible courses to be achieved by anyone who is willing to study during a standard daily busy life. Basically they connect Training Providers (who teach Accounting) with students or professionals who want to learn it, and at the end of the course each Student gets a certified Account qualification which it is highly trusted by all Employers.
The AAT Membership offers great advantages such as flexible courses, they are universally respected and internationally recognised, they offer lot of useful study materials, resources and support, they have more than 100,000 members in more than 100 countries.
The aim of my project was to work mainly on the new Student Enrolment Form, which consist in the student to choose a course, then finding a training Provider that offer that course and then Register to AAT.
All the data is kept inside a custom CRM built in .NET, Drupal was used as front end portal to present this Backend systems data to the front end data.
Some of the CRM data related to the front end user was imported in Drupal using the migrate modules. I work mainly on the Custom Migrate module to import Questions and create Multi step Forms with Ctools.
The Registration Form was a Multi Step Form which had different conditional steps depending on the selected course, selected Training Provider, Qualification and Location.
My office location was near Barbican, london and I was working on this project with a team of other 10 people, 6 PHP Developers, 1 Project Manager, 1 Testers, 2 front end developers. Agile Sprint development, daily stand ups, estimation, planning and allocation of tasks, deadline management and retrospective.
Because AAT is an educational Organisation, they gave lot of importance to study and research about the latest Technologies and their focus was mostly on creating Multi step forms Registration Process using Angular JS in order to de-couple even more the complex Backend system from the front end.
I wrote a custom migrate modules to move some data from their custom CRM into Drupal Entities. The communication between Drupal and the third party was through custom REST APIs.
In all our Drupal coding we followed the PHP Standards Recommendations (PSR-4) Autoloading Standard in order to define our name spaces and classes in order to place files that will be auto loaded according to our specification.
As I said my position involved mostly the creation of this Enrolment multi step form, importing data into Drupal, and submitting the Application to the CRM using custom REST APIs.
To reach the success of this project as Drupal Developer, I had to prove them the following experience:
- Continuous integration Tools such Jenkins, GitLab, Bamboo and Jira.
- Full stack technology: Php / Drupal 7 / MySQL / MongoDB / J-query / Angular JS / HTML / CSS.
- I liked the Angular JS technology and the challenges and solutions that involved.
- Using my range of expertises to set up custom modules.
- Deliver a high level system performance for their high traffic user web sites.
- Research and use always latest technologies, champion innovation as a technical expert.
- Follow the PSR-2 Coding Style Guide, best practices and processes in Delivering Code.
- Code was delivered thorough pull requests, code reviews and Deployed and Automated in Jenkins.
- Data Base Design and Building new Custom Modules for Migrate and Submit Application to the CRM.
Among all different challenges I was efficient in communicating and co-ordinating the tasks with different people across different teams and technologies. Starting from collecting the new requirements and doing the functional and technical Data Base designing for new Custom Entities, Custom Modules Architecture and creating all the Back-End CMS Management screens in a very proficient Drupal 7 backend role.