Enovation was engaged by one of his long term clients in the Health education sector to aid and enable them in designing a solution for the management of curricular activities. The college had an immediate requirement to replace an existing expensive, commercial online database, with a bespoke system which could better manage their curriculum and student rotations within training hospitals. The project was quite large, and the clock was ticking; it was time to learn a new framework, and fast!

The heart of the project was to create an easy-to-use interface to allow the client to manage their database. We needed to provide all of the standard CRUD operations for each table, and add some new actions, such as batch editing and CSV import & export. The application would be secure, and various degrees of access and interactivity would be defined by role. Other, custom designed modules were also required.

The project presented several challenges – initially two large databases had to be merged and normalised to create a new schema. Also, the client's requirements were in constant flux, so the schema would have to be easy to edit as requirements were defined and refined. Thanks to YAML, changes to the schema were quick and easy.

The Admin Generator played an indispensable role: new modules could be quickly created on demand, then easily configured, secured and extended. We extended the Admin Generator itself and added our custom actions to make life even easier. And all we had to do to implement any changes made to the schema was rebuild our models; refactoring was a dream!

Symfony was ideal for our requirements in this project. It allowed us to get the project off the ground very quickly. It allowed us to deal with many changes and new requirements elegantly. Extending functionality, integrating custom code or creating custom solutions using the core API was easy. Most importantly, answers to questions were easily found in the excellent, extensive documentation and API reference. On every level we found symfony to be powerful, flexible and well-thought out; we can't wait to use it again!

This case study was provided by a user of the symfony framework and published with the permission of all parties involved. Are you interested in having your case study published on the symfony blog? Feel free to contact our Community Manager Stefan Koopmanschap (stefan.koopmanschap - at - symfony-project - dot - com).

Published in #Case studies