WingtipTicketsSaaS-MultiTenantDB
A sample multitenant SaaS application using a sharded multitenant database model, built on Azure SQL Database. Includes management scripts for a range of scenarios.
File Explorer
Download Latest Version (.zip)- ICatalogRepository.cs
- ITenantRepository.cs
- IUtilities.cs
- Mapper.cs
- CountryModel.cs
- CustomerModel.cs
- EventModel.cs
- EventSectionModel.cs
- SectionModel.cs
- TenantModel.cs
- TenantsModel.cs
- TicketModel.cs
- TicketPurchaseModel.cs
- VenuesModel.cs
- VenueTypeModel.cs
- AssemblyInfo.cs
- CatalogRepository.cs
- TenantRepository.cs
- AppConfig.cs
- Sharding.cs
- Utilities.cs
- App.config
- Events-Tenant.Common.csproj
- packages.config
- AccountController.cs
- BaseController.cs
- EventsController.cs
- FindSeatsController.cs
- HomeController.cs
- publish-module.psm1
- webPackage-publish.ps1
- launchSettings.json
- AccountController.fr.resx
- BaseController.fr.resx
- FindSeatsController.fr.resx
- _EventList.fr.resx
- Index.fr.resx
- _HomeLayout.fr.resx
- Index.fr.resx
- _Account.fr.resx
- _Banner.fr.resx
- _BannerNoEvent.fr.resx
- _EventsLayout.fr.resx
- _Layout.fr.resx
- Error.fr.resx
- FindSeats.fr.resx
- TenantError.fr.resx
- FindSeatViewModel.cs
- SupportedCultures.cs
- _EventList.cshtml
- Index.cshtml
- _HomeLayout.cshtml
- Index.cshtml
- _Account.cshtml
- _Banner.cshtml
- _BannerNoEvent.cshtml
- _EventsLayout.cshtml
- _Layout.cshtml
- Error.cshtml
- FindSeats.cshtml
- TenantError.cshtml
- TenantOffline.cshtml
- _ViewImports.cshtml
- _ViewStart.cshtml
- site.css
- site.min.css
- glyphicons-halflings-regular.eot
- glyphicons-halflings-regular.svg
- glyphicons-halflings-regular.ttf
- glyphicons-halflings-regular.woff
- glyphicons-halflings-regular.woff2
- segoeui.eot
- segoeui.otf
- segoeui.svg
- segoeui.ttf
- segoeui.woff
- segoeuib.eot
- segoeuib.otf
- segoeuib.svg
- segoeuib.ttf
- segoeuib.woff
- segoeuii.ttf
- segoeuil.eot
- segoeuil.svg
- segoeuil.ttf
- segoeuil.woff
- segoeuiz.eot
- segoeuiz.svg
- segoeuiz.ttf
- segoeuiz.woff
- seguisb.eot
- seguisb.otf
- seguisb.svg
- seguisb.ttf
- seguisb.woff
- banner-01.jpg
- banner1.svg
- banner2.svg
- banner3.svg
- banner4.svg
- down.png
- sort_asc.png
- sort_both.png
- sort_desc.png
- ticketmaestro-logo.jpg
- ticketmaestro.ico
- up.png
- jquery.dataTables.js
- site.js
- site.min.js
- bootstrap-theme.css
- bootstrap-theme.css.map
- bootstrap-theme.min.css
- bootstrap-theme.min.css.map
- bootstrap.css
- bootstrap.css.map
- bootstrap.min.css
- bootstrap.min.css.map
- glyphicons-halflings-regular.eot
- glyphicons-halflings-regular.svg
- glyphicons-halflings-regular.ttf
- glyphicons-halflings-regular.woff
- glyphicons-halflings-regular.woff2
- bootstrap.js
- bootstrap.min.js
- npm.js
- .bower.json
- LICENSE
- jquery.js
- jquery.min.js
- jquery.min.map
- .bower.json
- LICENSE.txt
- jquery.dataTables.css
- additional-methods.js
- additional-methods.min.js
- jquery.validate.js
- jquery.validate.min.js
- .bower.json
- LICENSE.md
- .bower.json
- jquery.validate.unobtrusive.js
- jquery.validate.unobtrusive.min.js
- Pop.css
- _references.js
- favicon.ico
- .bowerrc
- app.config
- appsettings.json
- appsettings.Production.json
- bower.json
- bundleconfig.json
- Events-TenantUserApp.xproj
- Program.cs
- project.fragment.lock.json
- project.json
- project.lock.json
- Project_Readme.html
- SessionExtensions.cs
- Startup.cs
- web.config
- CatalogDbContext.cs
- Tenants.cs
- AssemblyInfo.cs
- Countries.cs
- Customers.cs
- Events.cs
- EventSections.cs
- Sections.cs
- TenantDbContext.cs
- TicketPurchases.cs
- Tickets.cs
- Venues.cs
- VenueTypes.cs
- database_firewall_rules.cs
- EventsWithNoTicket.cs
- TenantContext.cs
- App.Config
- Events-TenantUserApp.EF.csproj
- packages.config
- MockCatalogRepository.cs
- MockTenantRepository.cs
- AssemblyInfo.cs
- CatalogRepositoryTests.cs
- TenantRepositoryTests.cs
- ShardingTests.cs
- UtilitiesTests.cs
- app.config
- Events-Tenant.Common.Tests.csproj
- packages.config
- AccountControllerTests.cs
- EventsControllerTests.cs
- FindSeatsControllerTests.cs
- HomeControllerTests.cs
- launchSettings.json
- app.config
- Events-TenantUserApp.Tests.xproj
- Program.cs
- project.fragment.lock.json
- project.json
- project.lock.json
- Project_Readme.html
- Startup.cs
- web.config
- wtpapp-vnext.json
- wtpapp.json
- wtpapp.parameters.json
- Deploy.ps1
- Deployment.targets
- WingtipPlatformARMDeployment.deployproj
- WingtipPlatformARMDeployment.sln
- sp_CpuLoadGenerator.sql
- sp_DeleteEvent.sql
- sp_DeleteVenue.sql
- sp_NewVenue.sql
- sp_RemoveShardManagement.sql
- sp_ResetEventDates.sql
- Countries.sql
- Customers.sql
- Events.sql
- EventSections.sql
- LastExtracted.sql
- Sections.sql
- TicketPurchases.sql
- Tickets.sql
- Venues.sql
- VenueTypes.sql
- EventFacts.sql
- EventsWithNoTickets.sql
- TicketFacts.sql
- PostDeployment.sql
- TenantInitialization.sql
- WingtipMultiTenantDB.sqlproj
- sp_NewVenue.sql
- Venues.sql
- RowLevelSecurity.sql
- TenantInitialization.sql
- Wingtip SaaS App.sln
- global.json
- WTP Application Project Files.sln
- multi-tenant-pattern.png
- AppVersions.PNG
- Building and Managing SaaS Applications on SQL Database.pptx
- Microsoft.Azure.SqlDatabase.ElasticScale.Client.dll
- AzureShardManagement.psm1
- CatalogAndDatabaseManagement.psm1
- SubscriptionManagement.psm1
- tenantsdatabasecopytemplate.json
- Demo-DevopsAndSupport.ps1
- Demo-AdhocReporting.ps1
- Demo-AdhocReportingQueries.sql
- Deploy-AdhocReportingDB.ps1
- Initialize-AdhocReportingDB.sql
- Demo-TenantAnalytics.ps1
- Deploy-TenantAnalyticsDB-CS.ps1
- Deploy-TenantAnalyticsDB.ps1
- ExtractTickets.sql
- ExtractVenuesEvents.sql
- ShredRawExtractedData.sql
- TargetGroups.sql
- Demo-PerformanceMonitoringAndManagement.ps1
- Demo-ProvisionTenants.ps1
- New-TenantAndDatabase.ps1
- New-TenantBatch.ps1
- Remove-ProvisionedTenant.ps1
- Demo-SchemaManagement.ps1
- Deploy-JobAgent.ps1
- DeployReferenceData.sql
- Elastic Jobs User Guide (preview).docx
- OnlineReindex.sql
- Utilities.ps1
- Demo-LoadGenerator.ps1
- Demo-ResetEventDates.ps1
- Demo-TicketGenerator.ps1
- FictitiousNames.csv
- LoadGenerator.ps1
- LoadGenerator2.ps1
- Reset-EventDatesForAllTenants.ps1
- SeattleZonedPostalCodes.csv
- TicketGenerator2.ps1
- WtpSalesCurves1.csv
- MULTI.ps1
- UserConfig.psm1
- WtpConfig.psm1
- .gitattributes
- .gitignore
- LICENSE
- README.md
- SECURITY.md
# Installation Guide
1. Get the code
git clone https://github.com/microsoft/WingtipTicketsSaaS-MultiTenantDB
Downloads the entire project code from GitHub to your computer.
cd WingtipTicketsSaaS-MultiTenantDB
Moves into the project folder you just downloaded.
2. .NET
Medium RecommendedPrerequisites
cd App
This project's files live in a subfolder, so move into it first.
dotnet restore
Downloads the packages the project depends on.
dotnet run
Builds the project and runs it immediately.
After dotnet run, check the message or address shown in the terminal.
// repository documentation
Was this content helpful?
(0 ratings)
