Urbanify is an innovative nano vehicle rental solution, allowing drivers to rent vehicles and pay according to usage time (minutes, hours, or days) with full flexibility.
The system is built with .NET 9 and orchestrated with .NET Aspire, which manages all dependencies, configuration, and service discovery automatically. This eliminates the need for manual environment variable configuration or external service setup.
The architecture is documented using the C4 Model.
- Context Diagram: Shows how the Rental System interacts with its main actor (Driver).
- Container Diagram: Details the main containers of the system, including Rides.API, Vehicles.API, Redis (distributed lock), and their supporting libraries. The project architecture is documented using the C4 Model, covering the Context and Container views.
The project architecture is documented using the C4 Model, covering the Context and Container views.
- .NET 9
- .NET Aspire (distributed application model)
- ASP.NET Core Web API
- SQL Server (started and orchestrated automatically by Aspire)
- Redis (used for distributed locking)
Make sure you have installed:
- .NET 9 SDK
- Visual Studio 2022 (17.10 or later) or Visual Studio Code with C# Dev Kit extension
No manual database, Redis, or environment configuration is required. Aspire will handle dependencies automatically.
From the root folder, run the Aspire AppHost:
dotnet run --project LCS.Urbanify.AppHostThis will start all required services:
- Rides.API
- Vehicles.API
- SQL Server container for persistence
- Redis container for distributed locking
Service discovery, connection strings, and orchestration are fully managed by .NET Aspire.
/docs
/diagrams/images # C4 model diagrams (context, container)
/src
/LCS.Urbanify.AppHost # Aspire orchestrator
/LCS.Urbanify.Core.LIB # Shared library
/LCS.Urbanify.Rides.API # API for managing rentals/trips
/LCS.Urbanify.Vehicles.API # API for managing vehicles
/LCS.Urbanify.ServiceDefaults # Cross-cutting Aspire configuration
This project is licensed under the MIT License.

