BeezMart installation

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:

  1. Create the application database for storage
  2. Ensure the application code can access the database
  3. Prepare the hosting option and deploy the application
  4. Go through initialization and required configuration steps
  5. 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:

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;

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:

Setting Sample value Notes
AspNetCore_Environment Development|Staging|Production Optional. Docs here
ConnectionStrings__MyAppDatabase database connection string See previous section
MessagingServices__FromEmailAddress No-Reply@Domain.ro
MessagingServices__SmtpMailServer__HostName Mail.Domain.ro Your SMTP server
MessagingServices__SmtpMailServer__PortNumber 25
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:

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:

  1. Database initialization: the database objects are created, such as data tables and indexes
  2. Administrator account: a first account is created, having administrative rights
  3. 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:

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:

  1. Creating user accounts
  2. Granting rights to users by assigning roles
  3. Resetting passwords
  4. Disabling user accounts

Watch our video to get a feeling on how it is done:

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.