Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/janaks09/NetCoreSaaS
Asp.Net Core multi-tenant application Sample using #SaaSKit
https://github.com/janaks09/NetCoreSaaS
asp-net-core multi-tenant saas saaskit
Last synced: 2 months ago
JSON representation
Asp.Net Core multi-tenant application Sample using #SaaSKit
- Host: GitHub
- URL: https://github.com/janaks09/NetCoreSaaS
- Owner: janaks09
- Created: 2017-06-18T16:50:45.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-28T00:37:38.000Z (almost 2 years ago)
- Last Synced: 2024-04-13T23:55:35.673Z (9 months ago)
- Topics: asp-net-core, multi-tenant, saas, saaskit
- Language: JavaScript
- Size: 4.31 MB
- Stars: 125
- Watchers: 12
- Forks: 48
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NetCoreSaaS
Asp.Net Core multi-tenant application Sample using #SaaSKit## .Net 6.0 Support!!!
This application is upgraded to support .Net 6.0.## Known Issue
Currently `HTTPS` redirection is not supported.## Application Architecture
Nothing Complex.I followed separate database per tenant approach.
In `NetCoreSaaS.Data` project, there are two different contexts.
+ `CatalogDbContext` holds global tenant level data like tenant configuration
+ `TenantDbContext` holds tenant specific data like tenant user, other tenant related data## Steps to run application
+ Create migration file if not created (but its already created under `Data` folder of `NetCoreSaaS.WebHost`). If you want to re-create migration later check `TempFiles` folder in `NetCoreSaaS.WebHost` for migration scripts. Run `Catalog Database` migration only.
+ Run application. Application will itself migrate changes to database with seeding in `NetCoreSaaS_Catalogdb` with tenant data.
+ For testing purpose, I have configure application to listen request in host `http://*.localhost:6001` (you can find configuration in `Program.cs` file.) Default seeding has only added two tenant which hostname are `http://tenant1.localhost:6001` and `http://tenant2.localhost:6001` therefore request from only these two hostname will be resolved else tenant will not resolve. You can find seeding in `NetCoreSaaS.WebHost > Infrastructures > Helpers > DbHelper` folder.
+ Once application is running, go to `http://tenant1.localhost:6001` and `http://tenant2.localhost:6001` you can find same site for two tenant.
+ You can also perform user signup and login operation with these tenants.