ParkMate
An academic parking availability prototype connecting Raspberry Pi vehicle detection, a cloud backend, and a mobile campus map.
ParkMate helps you check parking availability before heading to a car park. Its mobile app brings together a campus map, available-bay counts, favourite lots, and directions through your phone’s map app.
Developed as a COMP6002 Group 8 team project for Curtin University’s Bentley Campus, it connects a computer-vision edge device with a backend and a mobile interface. It is an academic prototype, not an official Curtin parking service or a production deployment.
The Mobile App
The app shows parking lots on a campus map. Selecting a lot reveals its capacity, available bays, availability status, and last update time. You can save favourite lots and open directions in an installed map app.
From Camera To Campus Map
A Raspberry Pi 5 runs Python and YOLOv8n to detect vehicles and send occupied-bay counts over MQTT. The backend validates each message and uses the lot capacity stored in PostgreSQL to calculate availability. The app retrieves the latest data through a REST API.

Built With
- Mobile: Expo, React Native, Expo Router, TypeScript, and react-native-maps.
- Edge: Raspberry Pi 5, Python, YOLOv8n, and MQTT.
- Backend: Node.js, Express, TypeScript, and PostgreSQL.
- Infrastructure: Docker Compose, Mosquitto, and AWS EC2, with optional S3 payload archival.
The current MQTT implementation uses Mosquitto. AWS IoT Core was considered in the initial plan but is not the current deployment.
Prototype Boundaries
Parking estimates depend on camera position, lighting, occlusion, and detection accuracy. The app’s availability colours describe how full a lot is; they are separate from the campus parking-zone colours used for permits and pricing.
The public repository excludes raw campus parking footage, private deployment endpoints, and credentials. Reproducing the vision workflow requires your own approved input data and configuration.
Explore The Project
The GitHub repository includes the mobile, edge, and server components, setup instructions, and API documentation. Original team-owned source code is available under the Apache License 2.0; third-party materials retain their own terms.