Skip to content

hieudku/ParkingFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParkingFlow

ParkingFlow is a web parking management application built using ASP.NET Core MVC and SQL Server. It provides basic functionality for users to find and book parking spaces and for administrators to manage available slots and bookings. This project is suitable for educational purposes, prototyping, or as a starting point for building a full-featured parking management system.


Project Structure

  • Backend: ASP.NET Core MVC with Entity Framework Core
  • Frontend: Razor views, Bootstrap
  • Authentication: ASP.NET Identity
  • Database: SQL Server (Development), Azure SQL Server (Production)
  • Payment: Stripe integration for booking checkout
  • Hosting: Azure App Service

Setup Instructions

1. Clone the repository

git clone https://github.com/hieudku/parkingflow.git

2. Open the project

Open the solution in Visual Studio 2022 (or later). Make sure you have the required .NET SDK installed ( .NET 6 or .NET 8 depending on your project settings).

3. Set up the database connection

In appsettings.json, configure the connection string(localdb):


"ConnectionStrings": {
  "DefaultConnection": "Server=.;Database=ParkingFlow_db;Trusted_Connection=True;MultipleActiveResultSets=true"
}

If deploying to Azure, store this value in your App Service Configuration settings.

4. Configure Stripe keys

Add your Stripe API keys in appsettings.json or as environment variables (recommended for good practice):


"Stripe": {
  "SecretKey": "your-stripe-secret-key",
  "PublishableKey": "your-stripe-publishable-key"
}

5. Run database migrations

Update-Database

This command will create the necessary tables in your SQL Server database using Entity Framework migrations.

6. Run the application

Set the project as the startup project and run via Visual Studio or with the CLI:

dotnet run

Visit https://localhost:5001 in your browser(localhost might differ).


User Roles

  • Admin: Can add/edit/delete parking slots and view all bookings
  • User: Can browse available parking, make bookings, and manage their own reservations

Admin users must be seeded or manually assigned in the database.


Environment Variables (Optional)

You can optionally store sensitive config values outside appsettings.json for security (in secrets.json):

  • ConnectionStrings__DefaultConnection
  • Stripe__SecretKey
  • Stripe__PublishableKey

Deployment Notes

  • The application can be hosted on Azure App Service.
  • Database should be provisioned using Azure SQL or equivalent.
  • Use Custom Domains and TLS/SSL bindings for production.


Author

  • Hieu Cu (Lead)
  • Shivam Arora (Tester)

About

ASP.NET Core MVC w/ Razor Pages, Stripe, Azure SQL, SSR , pseudo-Real-time features. To be continued

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published