Development of a public web database for citizens' petitions with interactive map & filter options

PHP & MySQL web development with CakePHP and Elasticsearch

In 2018, the University of Wuppertal commissioned eWorks to design and develop a web database for citizens' petitions in German-speaking countries. The aim was to develop a modern online database that is available to the public online and also offers a large number of users the opportunity to actively participate in maintaining the data.

The linchpin of the database developed is the overview page of all registered citizens' petitions. This consists of an interactive map that visualizes the citizens' petitions in Germany. In addition, there are numerous filter options, a full-text search and finally a data table showing the citizens' petitions. From here, every visitor can enter a new citizens' petition using a 6-step input mask.

The web-based online database, which was developed using the PHP framework CakePHP, is divided into a public front-end and a protected back-end area. The data is managed with the help of MySQL, whereby an additional Elasticsearch database is used for filtering, full-text search and displaying the data.

To administer the database, administrators registered in the backend area can manage and, if necessary, release incoming citizens' petitions. In addition to the citizens' petitions that give the database its name, they can also manage other data such as parties, courts, local data or organizations that are required for the registration of citizens' petitions. Of course, user administration is also available.

The interactive map and the citizens' petitions displayed on it posed a particular challenge. To ensure smooth use of the database, the map must respond quickly to user input and be able to quickly reload the petitions in the visible area. Thanks to Elasticsearch and the geo functions we used, it was possible to reload the locations of the petitions on the map within 20 - 100ms.

eWorks supported the University of Wuppertal from the initial idea for the database through prototype development and full implementation to ongoing operation. In the course of the software life cycle, various extensions were realized by eWorks and support services were provided. Since then, eWorks has supported the customer's employees in using the system, rectified program errors (warranty), programmed occasional change requests and carried out the further functional development of the software solution according to customer requirements.

Used technologies

Elasticsearch
HTML / CSS
JavaScript / jQuery
OpenStreetMap / Leaflet
PHP

Related references

Would you like to
commission a project?

Enquire now!

Are you looking
for a job?

Apply now!