SaaSPro is a .NET SaaS starter kit built for the cloud that contains everything you need to jumpstart your next SaaS project.
The purpose of the project was to leverage our experience building eReferralPro (ereferrrralpro.com). eReferralPro is a SaaS site designed for the healthcare industry. We pulled out all the good bits and put them into a solution where SaaS applications can be brought online faster. SaaSPro contains all the plumbing and infrastructure needed to get you going so you can focus on the business logic of your product. I hope SaaSPro will continue to evolve and grow with help from the community. We put a lot of love and effort into this project and we hope it carries on.
There are three web projects in the solution. App, Web, and Management. The App is the multi-tenant application that is the 'app'. The Web project is the site that shows users what the product is and allows them to signup for the service. Management is the website that manages the application in terms of adding new users, reports, error logs and many other features.
-
Create new application in IIS
-
Add new binding with host name "saaspro.local" and point it the directory \src\SaaSPro.Web.Main
-
Create new application in IIS
-
Add new binding with host name "admin.saaspro.local" and point it the directory \src\SaaSPro.Web.Management
-
Create new application in IIS
-
Add new binding with host name "client1.saaspro.local" and point it the directory \src\SaaSPro.Web.App
-
Create new application in IIS
-
Add new binding with host name "client2.saaspro.local" and point it the directory \src\SaaSPro.Web.App
-
Create new application in IIS
-
Add new binding with host name "client3.saaspro.local" and point it the directory \src\SaaSPro.Web.App
-
In hosts file add the following lines: 127.0.0.1 saaspro.local 127.0.0.1 admin.saaspro.local 127.0.0.1 client1.saaspro.local 127.0.0.1 client2.saaspro.local 127.0.0.1 client3.saaspro.local
-
Create a new database named 'SaaSPro'
-
Create new login "SaaSPro" in sql server
-
Run the sql script names database.sql located in the Databases folder
-
SaaSPro.Services.Tests (log4net.config) (app.config) SaaSpro.Web.App.Tests (log4net.config) (app.config) SaaSPro.Web.Main.Tests (log4net.config) (app.config) SaaSPro.Web.Management.Tests (log4net.config) (app.config)
SaaSPro.Web.App (connectionstrings.config) (log4net.confg) SaaSPro.Web.Main (connectionstrings.config) (log4net.confg) SaaSPro.Web.Management (connectionstrings.config) (log4net.confg)
-
Start website (it should open "saaspro.local")
-
Create a new account customer from saaspro.local with a host name of 'client1'.
-
Once created, login to the site with the following URL: client1.saaspro.local
-
Login with your credentials and once you get to the second login page, answer the question with the same answer as the question. Example: question: a, answer: a. Etc.
-
The user security question logic can be modified in the Services project, planservice.cs
To see SaaSPro running on Azure, visit https://www.saaspro.net/demo
MIT