Listening Books is a charity that provides a postal (using MP3 CDs) as well as internet-based (streaming) audiobook service to over 60,000 members in the UK who find that an illness, physical or learning disability or mental health condition impacts on their ability to read or hold books.
Listening Books approached ID Studio to develop a brand-new system from scratch that would consolidate their fragmented member and library management systems. The old approach required them to maintain members, funders and books in separate software packages and various spreadsheets with a considerable amount of overlap. This resulted in data redundancy which increased the admin time required to manage everything in the organisation. Because records were duplicated in other systems, it also made it challenging to keep it synchronised and updated.
The goal was to merge this all together into a single system consisting of a fully responsive member website, backend CRM, member management, funding administration and Library Management System. The result was a robust, scalable system that could handle the demand of members as well as processing postal CDs, printable catalogues, payment processing, and a comprehensive reporting system.
We collaborated with the entire Listening Books team using our project management of choice: Monday.com This allowed us to determine via a visual time the modules that would be required, and the estimated development schedules for it.
It also allowed Listening Books to log any feedback and queries which we could assign to the applicable member of our team. The platform was indispensable for logging feedback during the beta testing period.
We decided on a bespoke system to cover all the use cases the project posed. There were a few existing off-the-shelf systems that performed some of the functionality required, but ultimately the necessary flexibility and extensibility demanded something more specialised.
The team developed the system using the Laravel framework, utilising the latest Long-Term Support (LTS) version. Our developers were Certified Laravel Developers, making this the obvious choice.
The front end was developed using Bootstrap, ensuring perfect layouts on mobile, tablet and desktop devices.
A large part of the internet audiobook streaming functionality relied on tight integration with OverDrive, a large digital distributor of audiobooks (among other formats). This complete integration allowed members to stream books through the Listening Books website, as well as through the OverDrive app.
Other integrations included payment gateways and Direct Debit processing functionality and consolidation.
The move from the old system to the new system required a large-scale data processing and migration exercise. Members, books, memberships, payment and all related data had to be transformed from their old formats and migrated to the new structure. This included records from various Microsoft SQL Server database and over a dozen Excel spreadsheets. All images and audio sound samples also had to be processed and moved to the new infrastructure.
In the end, over a million records were processed and migrated by our bespoke migration scripts.
Because of the volume of members and the possibility of the demand increasing post-launch, we decided on Amazon Web Services (AWS) for the hosting infrastructure. We configured an auto-scaling solution behind a load balancer, meaning that if the demand on the website spiked, AWS would automatically launch new servers to handle the demand. When the demand decreased, these extra servers would be terminated.
The way we developed the system meant that these auto-scaling procedures would result in no data loss as the servers are treated as stateless, storing all data in separate parts of the AWS eco-system like S3 (asset storage) and RDS (database).
Listening Books is a large membership website containing details for many thousands of members. As a result, security was at the forefront of everything we did. TLS certificate, multi-factor authentication, strong encryption, audit logs, as well as covering the principles in the OWASP Top 10 list.
The server was also put through a rigorous penetration test to ensure there were no holes that could be exploited by malicious users. A load test was also performed to ensure the auto-scaling worked as planned.
GDPR was also a very important aspect of the project, and we integrated controls that would allow export, edit, and delete personal data.