Description

This app was a developed for a private client that has a number of chapters across Canada. They wanted a secure, user friendly way to share their large document/form library with all of their chapters.

Overview

The base of this app was devleoped using HTML, CSS, PHP and a number of libraries like jQuery, Materialize, Bootstrap and a library called Poppler that converts PDF uploads to an HTML file. Since this is a private app I will explain the solution I developed step by step.

Solution – Phase 1

I created a custom standalone web repository for the forms with a secure admin panel that my client can use to easily update the HR doc files and table of contents in PDF format. Using the PDF upload the app automatically converts the file to a HTML table of contents for full compatibility with all browsers and mobile devices.

Solution – Phase 2

I developed the front-end user interface using the Materialize library, which turned out great. The front-end consisted of a simple landing page, a repository index page that imported the auto created HTML and CSS file, and a hidden administration panel for my client.

Solution – Phase 3

I developed an login script with encrypted keys written with JavaScript / jQuery for cross-site login to access app. This way users can login to their provincial chapter’s website and simply click the repository link to open a new window and automatically authenticate with the remote server via a PHP script. Otherwise if a user tries to access the Repository without being authenticated with their chapters website it will not allow them to view the application. The login script is also designed to stop users from being able to share the repository link with non-members by updating the authentication key every hour.

Solution – Phase 4

Shortly after the repository app launch my client bought a Jobs Board web application and they wanted it to have the same Single Sign on / auto-authentication functionality I built for the other system. Since it was developed by another company in Ruby I worked with them to update my code for authentication with the new application. It’s now live on my clients website and working great.