Smart Parking Navigator is a mobile-first web application that helps drivers find suitable HDB car parks near a destination in Singapore. It combines static car park information with live lot availability to support filtering, ranking, and nearby alternatives.
flowchart LR
Driver[Driver]
Maps[Google Maps Platform]
Availability[data.gov.sg<br/>Car Park Availability API]
Csv[HDB Car Park Information CSV]
subgraph Aspire[.NET Aspire application]
Web[Blazor WebApp<br/>Interactive Server]
Api[ASP.NET Core ApiApp]
end
Driver <-->|HTTPS and Blazor SignalR| Web
Driver <-->|Maps, places, and geocoding| Maps
Web -->|Generated OpenAPI client| Api
Api -->|Loads at startup| Csv
Api -->|Polls live availability| Availability
/
├── .azure
│ └── deployment-plan.md
├── .github
│ ├── ISSUE_TEMPLATE
│ └── workflows
├── contracts
├── data
├── docs
├── src
│ ├── CarparkAvailability.ApiApp
│ ├── CarparkAvailability.AppHost
│ ├── CarparkAvailability.ServiceDefaults
│ └── CarparkAvailability.WebApp
├── test
│ ├── CarparkAvailability.ApiApp.Tests
│ ├── CarparkAvailability.AppHost.Tests
│ └── CarparkAvailability.WebApp.Tests
├── AGENTS.md
├── CarparkAvailability.slnx
├── CONTRIBUTING.md
├── IDEATION.md
├── PRD.md
├── TRD.md
├── aspire.config.json
└── azure.yaml
- Visual Studio 2026 or VS Code with C# Dev Kit
- .NET 10 SDK
- Docker Desktop or similar local container management tool
- Azure CLI
- Azure Developer CLI
- Aspire CLI
- A Chromium-family browser
- A Google Maps Platform API key configured as described in Google Maps API Key Setup
- A data.gov.sg API key configured as described in data.gov.sg API Key Setup
-
Clone the repository:
git clone https://github.com/devkimchi/smart-parking-navigator.git cd smart-parking-navigator -
Configure both external API keys by following the setup guides linked in the prerequisites.
-
Restore, build, and test the solution:
dotnet restore CarparkAvailability.slnx dotnet build CarparkAvailability.slnx --no-restore --configuration Release dotnet test CarparkAvailability.slnx --no-build --configuration Release -
Run the application through the Aspire AppHost:
aspire run
-
Open the Aspire dashboard URL printed in the terminal, then open the WebApp resource.
- Initial Product Ideation
- Product Requirements Document
- Technical Requirements Document
- Google Maps API Key Setup
- data.gov.sg API Key Setup
- .NET Aspire documentation
- ASP.NET Core Blazor render modes
- ASP.NET Core OpenAPI
- Microsoft Fluent UI Blazor
- xUnit.net v3 documentation
- Playwright for .NET
- Maps JavaScript API
- Azure Developer CLI
This project uses:
Contains information from Car Park Availability and HDB Car Park Information, accessed on 11 August 2026 from data.gov.sg, which is made available under the terms of the Singapore Open Data Licence version 1.0.
The datasets are provided on an "as is" and "as available" basis. This project is not endorsed by data.gov.sg, HDB, or the Singapore Government.