GeoParkings is a mobile app developed with Apache Cordova that integrates maps and "car driving"-style navigation to help users locate public parking lots in Valencia, using real-time data from the "parkings" dataset provided by the Valencia City Council’s API. It displays the user’s location on the map and guides them to the selected parking lot using navigation instructions.
- Features
- Project structure
- Data and plugins
- Screenshots
- Build and installation
- Technologies used
- Notes
- 📍 Real-time user geolocation
- 🔎 Search for nearby parking lots (maximum radius of 1.5 km)
- 🔄 Parking space availability lookup via the Valencia City Council API
- 🚗 Optimal route calculation in car driving mode via OSRM
- 🧭 Step-by-step guided navigation, with voice instructions (TTS) and vibration alerts
- 💻 Simple, intuitive interface
GeoParkings/
│
├── CORDOVA/
│ └── GeoparkingApp/ # Cordova project (mobile version)
│ ├── config.xml # App configuration (id, name, icon, splash)
│ ├── package.json # Dependencies and Cordova plugins
│ └── www/
│ ├── index.html # Application entry point (mobile)
│ ├── css/ # App-specific styles
│ ├── js/
│ │ └── app.js # Core logic: geolocation, parkings, and navigation
│ ├── img/ # App icons and images (logo, splash...)
│ └── webfonts/ # Icon fonts (Font Awesome)
│
├── index.html # Application entry point (web version)
├── css/ # Styles (web version)
├── js/ # App logic (web version)
├── misc/ # Screenshots
├── webfonts/
├── README.md
└── requirements.txt
Data source: Valencia City Council API (parkings dataset), total/free spaces and update timestamp, via HTTP GET requests in GeoJSON format.
Cordova plugins:
| Plugin | Function |
|---|---|
cordova-plugin-geolocation |
Real-time GPS |
cordova-plugin-device-orientation |
Compass for navigation |
cordova-plugin-dialogs |
User alerts |
cordova-plugin-tts |
Voice instructions |
cordova-plugin-vibration |
Vibration alerts |
git clone https://github.com/jrvalza/GeoParkings.git
cd GeoParkings/CORDOVA/GeoparkingApp
npm install📋 See the
requirements.txtfile for the full list of requirements (Node.js, Cordova CLI, Android SDK, JDK, plugins...) needed to build the project.
cordova build android- The resulting
.apkis generated inplatforms/android/app/build/outputs/apk/. - Install the .apk file on your phone or emulate the app with Android Studio.
| Technology | Use |
|---|---|
| 🟨 JavaScript / 🎨 CSS3 / 📄 HTML5 | Logic and interface |
| 📱 Apache Cordova | Packaging the web app as a native Android application (.apk) |
| 🍃 Leaflet | Interactive map rendering |
| 🧭 OSRM API | Route calculation |
| Real-time parking data | |
| 🗺️ OpenStreetMap / PNOA (IGN) | Base map layers (street map and orthophoto) |
-
✅ The mobile (Android, .apk) version is the only one that has been tested and is fully functional; it is the recommended way to use the application.
-
Parking search is currently limited to open data from the city of Valencia; no results will be shown outside that area.
-
Route calculation depends on the public OSRM server, so it requires an internet connection and may be affected by the availability of that service.
-
The Valencia parking API may limit the number of requests; the app performs controlled periodic queries to avoid being blocked.
-
Voice navigation instructions (TTS) and vibration are only available in the mobile environment (they do not apply when running as a web page on desktop).



