A fullstack real-time parking management system for UTSA campus, featuring computer vision detection, GPS reporting, and live availability tracking.
- Real-time Parking Availability: Live updates for all campus lots and parking garages
- Computer Vision Detection: YOLO/OpenCV-based camera detection for spot occupancy
- GPS-based Reporting: Mobile app integration for user-reported parking events
- Garage Entry/Exit Tracking: Real-time counting system for multi-level garages
- Campus Alerts: Event and maintenance alerts with map overlays
- Interactive React Frontend: Modern UI with live updates and filtering
- RESTful API: Comprehensive API for all parking data
- Laravel 12 - PHP framework
- MySQL - Database (via Laravel Sail)
- PHP 8.4 - Server-side language
- React 18 - UI framework
- Tailwind CSS 4 - Styling
- Vite 7 - Build tool
- Axios - HTTP client
- Python 3.10+ - Camera detection script
- HTML5/JavaScript - GPS reporter client
- Docker Desktop
- Node.js 18+ and npm
- Python 3.10+ (for camera detection script)
-
Clone the repository
git clone <repository-url> cd ParkUTSA
-
Install PHP dependencies
composer install
-
Install Node dependencies
npm install
-
Environment configuration
cp .env.example .env php artisan key:generate
-
Start Laravel Sail (Docker)
./vendor/bin/sail up -d
-
Run migrations and seed database
./vendor/bin/sail artisan migrate --seed
-
Build frontend assets
npm run build # Or for development with hot reload: npm run dev -
Access the application
- Frontend: http://localhost
- API: http://localhost/api
GET /api/lots- List all parking lotsGET /api/lots/{id}- Get specific lot detailsGET /api/garages- List all garagesGET /api/garages/{id}- Get specific garage details
POST /api/update_camera- Submit camera detection resultsPOST /api/update_gps- Report parking event via GPSPOST /api/update_entry_exit- Report garage entry/exit
GET /api/alerts- List all alertsGET /api/alerts/active- List active alertsPOST /api/alerts- Create new alertPUT /api/alerts/{id}- Update alertDELETE /api/alerts/{id}- Delete alert
See API_DOCUMENTATION.md for detailed API documentation.
cd scripts/python
pip install -r requirements.txt
python camera_detector.pyOpen scripts/client/gps_reporter.html in a web browser. The GPS reporter will request location permission and allow you to report parking events.
npm run dev # Development with hot reload
npm run build # Production build- Lots - Open parking lots with capacity tracking
- Garages - Multi-level parking structures
- Spots - Individual parking spaces
- CameraReports - Camera detection history
- GpsReports - GPS event history
- EntryEvents - Garage entry/exit traffic
- Alerts - Campus notifications
Includes realistic UTSA parking data:
- 5 Parking Lots (B1, B2, H4, VP3, MS2)
- 3 Parking Garages (Chaparral, Bauerle Road, Circle)
- Sample alerts for events, construction, and maintenance
./vendor/bin/sail artisan test./vendor/bin/sail pintCamera (YOLO/OpenCV) ──> Python Script ──> Laravel API ──> MySQL
Mobile App GPS ──────────────────────────> Laravel API ──> MySQL
Garage Sensors ──────────────────────────> Laravel API ──> MySQL
│
├──> React Frontend
└──> External Integrations
- Real YOLO/OpenCV integration
- Mobile app (React Native)
- Historical analytics dashboard
- Parking reservation system
- Push notifications
- Predictive ML models
Open-sourced for educational purposes.