Project: Navigation Framework for Tableau Dashboards
Although you can always provide people with native links to Tableau server hosted dashboards, I instead developed a web application front end to provide easy
navigation to the various Tableau dashboards. In the past this project would have required engaging with contract consulting firm to development
and implement. However, I was able to accomplish this project on my own, even though I have minimal web development experience, by leveraging
the help of our internal approved version of ChatGPT. It still took a tremendous amount of effort and back and forth engagement with ChatGPT
to work through all the problems and issues encountered along the way. However, in the end I was able to successfully accomplish the project. As this
project was done at a previous employer I'm not permitted to show any of the actual code.
The project required:
- Setting up a Linux virtual machine server
- Installing the necessary Apache web server software and configuration
- Obtaining and installing an SSL certificate to support secure https traffic
- Requesting a custom domain name for the server
- Develop the necessary web site code
The high level requirements for the web application were as follows:
- Custom URL for the site
- Provide a configurable two-level menu system to navigate to specific reports
- Menus and dashboard URLs dynamically read from a csv file so no code required for updates
- Each dashboard should have a unique URL so it's possible to bookmark or share a link to a specific dashboard
- Display a breadcrumb so the menu path taken for a given dashboard is shown
- Search box to find dashboards based on dashboard title or keywords
- Handle Single-Sign-On, redirecting to the SSO portal as needed and return back to site
- Implement Tableau Connected App feature to establish trust relationship between web server and Tableau server
The project required developing the following elements:
- HTML file
- CSS file
- JavaScript file
- PHP file
- Application file
- CSV file to store the menus and dashboard URLs