Alfa Aesar Ltd
Some of the highlights from this project that were built into this platform
- Custom CMS for pages on the site
- Dynamic translations allowing updates in real time
- Automated deployment via ansible
- Feedback app
- Integrated CC with legacy IBM DB2
- Elastic Search for text based searches
- Dynamic menus and editors for Chemical product pages
The platform had around 12 web applications created. This allowed CMS content to be added and changed. A range of management pages were built for tasks such as checking on processed orders, order history, management metrics and so on.
The system has 4 different layout pages, allowing staff to login and access dashboards. Look at feedback and so on.
The website is multilingual and caters for Chemists around the globe. Ten languages are present. Language files are updated via an admin page. This is different to many other web platforms where static strings have to be updated programmatically. This system allows for dynamic updating of all static strings, not only CMS content.
The platform is pacakged using python setup libraries. But more importantly, during the end of the project the team moved to building the system with Ansible a deployment orchestration and automation tool. This took the grundge work out of deployments onto cloud based systems. The system uses yaml files to automate the deployment process. This tool now has major backing and support from Redhat.
Credit Card Payment
Credit Card payments are difficult when the host server holds Credit Card numbers. The project required PCI compliance before going live. One of the issues with this is the ability to rotate encryption keys.
The platform used an admin tool which allowed dynamic rotatting of these keys and even used celery to automate the process allowing the updating and changing of encrypted fields to be fully automated. For this the pycrypto and django-encrypted-fields library were used extensively
ElasticSearch and Text Based Searching
The legacy search interface allowed SQL searches on catalog numbers, categories and so on. Our client wished a more natural and dynamic search interface to allow Chemists to search on words which may be part of a chemical compound. For that, the system required natural text based searching. i.e. a no SQL type interface.
The system delivered allowed full text based searching on the data entries. It used a celery scirpt to synchronize with changes in the IBM DB2 interface. Data from the SQL world was pushed onto Elastic search allowing users to have a richer search experience when searching for compounds and chemicals on the site.
Typically modern web platforms allow an easy feedback mechanism for users to quickly and easily provide one click feedback. For that a scrolling fully responsive UI component allowed a user to tab input and submit feedback directly.
The administration interface allowed AlfaAesar staff to view that interface in a meaningfull way. This allowed the team to iterate and build enhancements to the system which were scheduled in each sprint.