An interactive web application that visualizes IBM TRIRIGA location data on an interactive map with advanced filtering and statistics. Part of the IBM UI Modernisation Lab initiative.
This project demonstrates modern UI/UX principles applied to IBM Maximo Real Estate & Facilities (TRIRIGA) data visualization. It provides an intuitive, interactive map interface for exploring facility locations across the United States.
- πΊοΈ Interactive Map - Leaflet-based map with OpenStreetMap tiles
- π Smart Markers - Color-coded pins with clustering for better visualization
- π Advanced Filtering - Filter by state, city, and location type
- π Live Statistics - Real-time counts and breakdowns
- π¨ Collapsible Panel - Clean UI with expandable controls
- π₯ Data Export - Export filtered results to CSV
- πΊπΈ US Focus - Optimized for United States locations
- π« No CORS Issues - File-based approach bypasses API restrictions
- Python 3.10 or higher
- Access to IBM TRIRIGA instance
- Valid TRIRIGA credentials
-
Clone the repository
git clone https://github.com/ibm-self-serve-assets/UI-Modernisation-Lab-MREF.git cd UI-Modernisation-Lab-MREF -
Configure TRIRIGA credentials
Edit
fetch_tririga_locations.py(lines 21-23):TRIRIGA_BASE_URL = "https://your-tririga-instance.com" TRIRIGA_USERNAME = "your_username" TRIRIGA_PASSWORD = "your_password"
-
Fetch location data from TRIRIGA
python3 fetch_tririga_locations.py
This creates:
tririga_locations.json- All locationstririga_us_locations.json- US locations with coordinatestririga_locations.csv- CSV export
-
Start the web server
python3 -m http.server 8000
-
Open in browser
http://localhost:8000/tririga_us_map.html
Double-click VIEW_US_MAP.command to automatically start the server and open the map.
UI-Modernisation-Lab-MREF/
βββ README.md # This file
βββ LICENSE # MIT License
βββ .gitignore # Git ignore rules
βββ CONTRIBUTING.md # Contribution guidelines
β
βββ assets/ # Screenshots and images
β βββ screenshot-map.png
β βββ screenshot-controls.png
β βββ screenshot-table.png
β
βββ fetch_tririga_locations.py # Data fetcher script
βββ tririga_us_map.html # Main map application
βββ tririga_location_table.html # Table view of locations
β
βββ VIEW_US_MAP.command # macOS startup script
β
βββ docs/ # Additional documentation
βββ SETUP.md
βββ API.md
βββ CUSTOMIZATION.md
- Load Data: Automatically loads on page open
- Filter: Use dropdowns to filter by state, city, or type
- Explore: Click markers to see location details
- Reset: Click "π Reset View" to reset filters and zoom
- Click the blue "π Controls & Statistics" header to collapse/expand
- Saves screen space for better map viewing
Open tririga_location_table.html for a searchable table with:
- Search functionality
- Pagination (50 items per page)
- CSV export
- All location details
The script uses JSESSIONID-based authentication:
- POST to
/p/websignon/signonwith credentials - Extract JSESSIONID from response
- Use session cookie for API calls
Fetches these fields from TRIRIGA:
triGisLatitudeNU- Latitude (GIS field)triGisLongitudeNU- Longitude (GIS field)triNameTX- Location nametriCityTX- CitytriStateProvTX- State/ProvincetriCountryTX- CountrytriAddressTX- AddresstriLocationTypeCL- Location type
- Coordinates: Excludes zero or empty coordinates
- Country: Filters for "United States" (configurable)
- Valid Data: Only includes valid lat/lng values
Edit tririga_us_map.html:
const getMarkerColor = (locationType) => {
const type = (locationType || '').toLowerCase();
if (type.includes('building')) return '#c30b82'; // Pink
if (type.includes('office')) return '#0066cc'; // Blue
return '#4caf50'; // Green
};const map = L.map('map').setView([39.8283, -98.5795], 4);
// [latitude, longitude], zoom_levelEdit fetch_tririga_locations.py:
us_locations = [loc for loc in locations_with_coords
if loc['country'] == 'Your Country']Total locations fetched: 272
Valid locations parsed: 272
Locations with coordinates: 271
United States locations: 80
- Check
tririga_us_locations.jsonexists - Verify coordinates are not all zeros
- Check browser console (F12)
- Ensure server is running on port 8000
- Verify credentials in
fetch_tririga_locations.py - Check TRIRIGA URL (no trailing
/app/tririga) - Ensure proper permissions
- Test TRIRIGA access in browser
- Script has 120-second timeout with 3 retries
- Large datasets may take time
- Check network connectivity
- Try during off-peak hours
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the MIT License - see LICENSE file for details.
- IBM TRIRIGA - Facilities management platform
- Leaflet.js - Interactive map library
- OpenStreetMap - Map tiles
- Leaflet.markercluster - Marker clustering
- Issues: GitHub Issues
- Email: ssnarasi@in.ibm.com
- Organization: IBM
- Add heatmap visualization
- Support for multiple countries
- Real-time data refresh
- Export to GeoJSON
- Mobile app version
- Dark mode theme
- Advanced search with autocomplete
- Never commit credentials to version control
- Use environment variables for sensitive data
- Data files are gitignored
- Consider OAuth for production
Part of IBM UI Modernisation Lab Initiative
Version: 1.0.0
Last Updated: 2026-06-24
Status: β
Production Ready
Maintainer: Satish Narasimhan (ssnarasi@in.ibm.com)
Organization: IBM


