Ray Johnson wanted a simple online platform which he could use to store contact details of his friends and family members. He wanted a system which he had sole control over, where the data stored in the system could be stored securely. Ray had previously used various third-party solutions but none fully suited the requirements he was looking for. He also didn't want to be bound to a third-party provider by providing sensitive details of his clients, family members and friends.
The system was buily using functional PHP with a MySQL database to store contact, user, and log details. This was presented using HTML5 and with the Twitter Bootstrap 3 framework.
Ray wanted the system to be secure, so several core features were written in, including user authentication, and logging every action made by every user. Various security measures were put in place, including preventing session hijacking, and session fixation. Several security checks are made with every page load, including automatically logging the user out if their details had changed inbetween page loads, such as username, IP address, and HTTP user agent.
The address book was also built with functionality which allowed it to be integrated into Ray's existing FreePBX VOIP phone system. Whereby the phone system would look up the phone number of the incoming call using an API request, which would securely query the database and return a result to the phone system, which would then be used to display the name of the caller.