BeezMart is a plain Asp.Net Core 2.0 application, relying on Microsoft SQL Server to store its structured data.
The recommended hosting option is Microsoft Azure Cloud, for best reliability and security. However, you can also host it on your own servers, and it can even run on Linux machines. It may take less than an hour to have it running:
- Create the application database for storage
- Ensure the application code can access the database
- Prepare the hosting option and deploy the application
- Go through initialization and required configuration steps
- Create access accounts for your users, grant rights
All the installation steps are illustrated with video demos, and if you opt-in for Cloud hosting, the insfrastructure setup is really easy. With Azure, you can have it run for about 5 EUR/month; in the first month you can enjoy free-of-charge trial of the hosting options.
1. Create the application database for storage
BeezMart relies on Microsoft SQL Server database to persist its structured data. There are no special requirements for the database, and many installed instances successfully use the free-of-charge SQL Server Express edition. Watch our demos for a quick start:
2. Ensure application access to database
Once you have the database, you must create a login in the database server, then a user in the database for the application. The login allows the application to connect to the database server; but the accessing the server does not necessarily means access to all or any of the databases on that server. The login must be mapped to the specific database handled by the server; this is where a database user comes into play. Watch our demos on creating a database access account:
- Database access account in Cloud, with Microsoft Azure SQL Database
- Database access account on-premises, on your own instance of Microsoft SQL Server
The easiest and recommended way to connect to a Microsoft SQL Server and database is by using the free-of-charge SQL Server Management Studio (SSMS). Use SSMS for the steps illustrated in the demo. SSMS might also be useful for other administrative operations with the database after installation.
If you are issuing commands to SQL Server instead of using a graphical interface, you may use this reference code.
Get or build the database connection string
The application code connects to the database using the connection string. This string specifies the server, database and the login details. It could look something like the form below
Server=[protocol:]server-name[,port][\InstanceName];Initial Catalog=database-name;Persist Security Info=False;User ID=login-account;Password=password-here;MultipleActiveResultSets=False;Encrypt=False;TrustServerCertificate=False;Connection Timeout=30;# For an Azure SQL Database it should look like
Server=tcp:beezmart-demo.database.windows.net,1433;Initial Catalog=BeezMart-Demo;Persist Security Info=False;User ID=BeezMart.App-Account;Password=S0m3P@assword;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;# On your own Microsoft SQL Server instance it could look like
Data Source=DbServers.Rodax.ro\\SqlExpress,1433;Initial Catalog=BeezMart-Demo;Integrated Security=False;User ID=BeezMart.App-Account;Password=S0m3P@assword;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;
- Watch our video, on how to get or build the connection string
3. Setup hosting environment and deploy application
The easiest way to host BeezMart is in an Azure Web App Service. The application is also tested for running in local Windows Servers with IIS. Linux hosting is also an possible, though our testing this option was limited.
Before starting prepare the hosting environment, make sure you have access to SMTP service, Simple Mail Transfer Protocol. BeezMart needs a SMTP account in order to be able to send automated e-mail messages.
You will need to feed in the following application settings in the hosting environment:
|AspNetCore_Environment||Development|Staging|Production||Optional. Docs here|
|ConnectionStrings__MyAppDatabase||database connection string||See previous section|
|MessagingServices__SmtpMailServer__HostName||Mail.Domain.ro||Your SMTP server|
|MessagingServices__SmtpMailServer__UserName||No-Reply@Domain.ro||The SMTP access account|
|MessagingServices__SmtpMailServer__Password||No-Reply account password||Account password|
Refer to our demos for a quick start:
- Setup hosting environment in Cloud, with Microsoft Azure Web App Service
- Setup hosting environment on-premises, on your own instance of Windows Server with IIS
Once the hosting environment is set, you only need to deploy the application code and start. Watch our videos:
4. First-time run: Initialization and required configuration
When it starts, BeezMart tries to connect to the database and read the
App.Settings table. At the first run, the table is missing, so BeezMart will go through the initial installation procedure. This consits of 3 steps:
- Database initialization: the database objects are created, such as data tables and indexes
- Administrator account: a first account is created, having administrative rights
- Application configuration: review and change some settings, such as invoicing details; you will be able to return to these
The administrative account that is created now will be able to manage user accounts and the global settings of the application.
Watch our video to get a feeling on how the first-time run goes:
- First-time run, initialization and required configuration
5. Create access accounts for your users, grant rights
The initial Administrator account created during the previous installation stage is able to manage user accounts:
- Creating user accounts
- Granting rights to users by assigning roles
- Resetting passwords
- Disabling user accounts
Watch our video to get a feeling on how it is done:
- Adding first user accounts, and grantig access rights using roles
We recommend that you log-out as Administrator and re-login with a newly created user account. In fact, for better security, you should assign administrative rights to one or more newly created user accounts and then delete or disable the default initially created Administrator account.