Digital Social Innovation is an online platform built with the objective of improving the way the public services, communities and businesses work by promoting people developing inspiring digital solutions to social challenges. It is a project led by Nesta, supported by the European Union and used by hundreds of organisations from Europe and worldwide.
The platform has been built on top of a well structured architecture that follows closely the top industry standards like Test Driven development, Version control (using git) and SOLID principles.
For a better organisation of the code and separation of concepts, the project follows the Model-View-Controller (MVC) architecture.
PHP 7 is the main language that is used for backend development as it offers a good environment to create fast and reliable applications. Combined with MySQL it creates the perfect solution to build a performant backend.
Using a caching system (APC) the platform is able to process large amount of data in short time by reducing the number of queries in the database.
As Digital Social Innovation is an Europe wide project, translation in multiple languages is an important feature.
For a good control over the code a modern IDE (PhpStorm) has been used in development, on a Windows machine running a instance of XAMPP. The productivity server is running on a LAMP environment in an Amazon EC2 container. Package managers such as composer have been used to make use of third-party libraries and to automate their installation.