Contact Portal web application - Case Study

ContactPortal was a new greenfield project developed for young start-up company. As the name suggest, 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.

Customer requirements

Main requirements from our customer were:

  • Appealing and responsive UI
  • Powerful filtering capabilities
  • Fast full-text search
  • User management including user sign up
  • Administration interface for portal administrators
  • Contact submission with approval process on portal administrator side
  • Mass data import from external data sources including transformation and cleansing
Technologies used

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.

The final challenge

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.