As the name Contact Portal suggests, the idea was to create a web portal where users could search and browse business contacts and also add new contacts (i.e. of their own business). Just like internet version of yellow pages, but international and better search capabilities.
Main requirements from our customer were:
We decided to build the UI in AngularJS technology, which gave us a lot of flexibility in designing user experience. Backend was developed in PHP to keep it lightweight, but we employed a few enterprise design patterns and object-relational mapping framework in order to keep the code well structured and neat. There is a REST API to provide interface between frontend and backend and it’s all running on Apache web server and MySQL database.
All in all this was a smaller and rather standard project, however, we encountered one great challenge at the end of the project. We need to import initial business data in the finished portal. These were scattered among several data sources which lacked common structure and for worse, the data was far from consistent. We had to create custom transformation for each data source and perform several rounds of data cleansing and consolidation prior to migrating into production database. Eventually, we managed to consolidate and migrate all data and brought the portal live.