While we had implemented a search by first name, last name, state and business name, a little research made us aware that other similar sites use more search fields. So, we decided to provide an advanced search for users by including numerous other filters. This helped make the search results even more accurate.
The basic premise of the user search is using keywords like first name, last name or business name. We used an API to collect the search results from the state/federal database and display it on the website. Once this data is fetched, we stored it in our server. This way, when the user searches with the same keywords again, we would show the result from our database. This reduced the API load. This data is updated at a regular interval to fetch only the latest and most relevant results.
Security measures need to be implemented to make the search process threat-free. The Key Authorization policy turned out to be an efficient way to make this possible since it restricts access to API endpoints for applications through API keys. This means every request sent by the user to the API needed to be identified by our application. So we provided a private key to each user of the site. This way, we could check and authorize users. To prevent further malicious attack we provided a time-based token key to the users. In order to use the Key Authorization policy, token-auth credentials were to be created for them. After the token expires, the user has to request for another token to continue using the services of the website.
So what happens after you find out that you have an unclaimed property in your name? We have implemented a functionality that allows user to directly visit the site that we have pulled the data from and take necessary action as per the site’s guidelines.
We had a slew of challenges while working on this project:
We were able to overcome all the challenges with effective solutions that fulfilled the purpose of the project.