collins909/uct-jammie-shuttle
0
π UCT Shuttle App
A comprehensive Progressive Web App (PWA) for finding UCT shuttle stops, routes, and departure times with real-time updates and offline functionality.
β¨ Features
π― Core Functionality
- π Exact Location Detection - Uses your precise coordinates (-33.9824199576228, 18.480131989270745)
- π All 15 Shuttle Stops - Complete list with accurate coordinates and bus emojis
- β° Real-time Departure Times - Next 5 departures with exact 24-hour format (18:30:45 PM)
- πΊοΈ Interactive Map - All stops highlighted with color-coded bus emojis
- π UCT Residences - 6 registered residences within shuttle radius
- π± Progressive Web App - Install on Android like a native app
π¨ Enhanced Features
- π― 15m Accuracy Requirement - Precise location detection
- β° Exact Time Display - No rounding, shows seconds (18:30:45 PM)
- π Bus Emojis - All shuttle stops use bus emojis (not train emojis)
- π Residence Integration - UCT residences with house emojis
- π± Sidebar Menu - Reminders, favorites, history, settings
- π Reminder System - Set alerts for specific departure times
- π UCT Access Notice - Dismissible notice about UCT access requirements
πΊοΈ Map Features
- π All Stops Map - View all 15 shuttle stops with bus emojis
- π Transport Hubs - Filter to show train station stops
- π« Campus Stops - Filter to show campus locations
- π’ Buildings - Filter to show academic buildings
- π Residences - Filter to show UCT residences
- π Your Location - Add your location marker to map
π± Android Installation
π Quick Start
# Run the launcher script
./launch-app.sh
# Or start manually
python3 -m http.server 8000π± Install on Android Phone
- Open Chrome on your Android phone
- Navigate to:
http://YOUR_COMPUTER_IP:8000 - Tap menu (3 dots) β "Add to Home screen"
- Install and launch from home screen
π― PWA Features
- Native app experience - Full-screen mode, no browser bars
- Home screen icon - Launch like any Android app
- Offline functionality - Works without internet after first visit
- App shortcuts - Long-press icon for quick actions
- Push notifications - For departure reminders
ποΈ File Structure
uct-shuttle-app/
βββ index.html # Main app file
βββ app.js # App functionality
βββ shuttle-data.js # Shuttle routes and stops data
βββ manifest.json # PWA configuration
βββ sw.js # Service worker for offline
βββ launch-app.sh # App launcher script
βββ create-icons.html # Icon generator tool
βββ ANDROID_INSTALL_GUIDE.md # Installation guide
βββ icons/ # App icons directory
βββ README.md # This fileπ― Shuttle Stops (15 Total)
π Transport Hubs (4)
- Claremont Station - -33.97971764140695, 18.466003858774812
- Sandown Station - -33.963921897506864, 18.47731704163369
- Forest Hill Station - -33.946694800342435, 18.470204922684683
- Rochester Station - -33.9372611930266, 18.46072733402598
π« Campus Stops (2)
- UCT Upper Campus - North Stop - -33.95489036449188, 18.46154274184408
- UCT Upper Campus - South Stop - -33.960713941648194, 18.46027963227716
π’ Buildings & Halls (5)
- Bremner Building - -33.95720200809019, 18.467120975034234
- Clarinus Building - -33.940921721444404, 18.459067717197993
- Liesbeeck Building - -33.94813773076761, 18.4760487824711
- Tugwell Hall - -33.954716312818135, 18.47083295642717
- Hiddingh Hall - -33.929872343131606, 18.4137316793237
π Other Locations (4)
- Mowbray Station - -33.94814357492514, 18.47372351113447
- Obz Square - -33.94377040697747, 18.46867340370806
- Medical School - -33.94194851946926, 18.4649911447082
- Rocco Mama Stop - -33.96056063406291, 18.469923531915175
π UCT Residences (6 Total)
- Smuts Hall - 400 students, 150m from North Stop
- Fuller Hall - 350 students, 200m from North Stop
- Leo Marquard Hall - 250 students, 180m from North Stop
- College House - 180 students, 120m from North Stop
- Kopano Residence - 320 students, 250m from North Stop
- Glendower Residence - 150 students, 300m from North Stop
π How to Use
π Get Your Location
- Click "π Get My Location" - Standard GPS with 15m accuracy
- Click "π Use My Exact Location" - Your precise coordinates
- Allow location access when prompted
π― Find Your Route
- Select destination from dropdown (all 15 stops available)
- Click "Find My Route" - Shows nearest shuttle stops
- View departure times - Next 5 departures with exact times
- See on map - Interactive map with route directions
πΊοΈ Explore the Map
- Click sidebar menu (β°) on the left
- Select "πΊοΈ Maps" section
- Choose view: All stops, Transport hubs, Campus stops, Buildings, Residences
- Click bus emojis for stop details and coordinates
π Set Reminders
- Click sidebar menu (β°)
- Select "π Reminders"
- Set departure time and stop
- Get notified when shuttle is about to leave
π οΈ Technical Details
π± PWA Configuration
- Manifest:
manifest.jsonwith app icons and theme - Service Worker:
sw.jsfor offline caching - Icons: Generated for all Android sizes (72x72 to 512x512)
- Theme: UCT colors (#667eea, #764ba2)
π― Location Services
- GPS Integration: Multiple fallback methods
- Accuracy Requirement: 15 meters maximum
- Exact Coordinates: Your precise location built-in
- Validation: Cape Town area bounds checking
β° Time System
- 24-hour Format: 18:30:45 PM (not 06:30:45 PM)
- Exact Times: No rounding, shows seconds
- Real-time Updates: Every second countdown
- Local Time: Africa/Johannesburg timezone
π Requirements
π» Development
- Python 3 - For local web server
- Modern Browser - Chrome recommended for PWA
- Internet Connection - For first visit and map tiles
π± Android Phone
- Android 5.0+ (API level 21+)
- Chrome Browser - For PWA installation
- GPS/Location Services - For accurate positioning
π― Success!
Your UCT Shuttle app is now ready with:
- β All 15 shuttle stops with exact coordinates
- β Real-time departure times with 24-hour format
- β Interactive map with bus emojis
- β UCT residences integration
- β PWA ready for Android installation
- β Offline functionality after first visit
- β Exact location with 15m accuracy requirement
Launch the app and enjoy your UCT Shuttle experience! ππ±β¨
