Codific mvc567

mvc567 is a high performance, open-source ASP.NET Core-based web application platform. It provides CMS functionality to its users.

View the Project on GitHub codific/mvc567

Project Configuration

To set up the properties of the application you can use the appsettings.json placed in the project folder. The autogenerated file must contain the following JSON:

{
  "ProjectMetaInformation": {
    "Name": "mvc567",
    "Url": "https://mvc567.com/"
  },
  "ConnectionStrings": {
    "DatabaseConnection": "Data Source=DATABASE_SERVER_NAME;Initial Catalog=DATABASE_NAME;Integrated Security=True"
  },
  "AdminLoginAuthenticator": {
    "SecretKey": "",
    "CookieFormat": "",
    "SecretIndexes": "",
    "ShowForTestPurposes": false
  },
  "GoogleRecaptchaKeys": {
    "VisibleRecaptcha": {
      "SiteKey": "",
      "SecretKey": ""
    },
    "InvisibleRecaptcha": {
      "SiteKey": "",
      "SecretKey": ""
    }
  },
  "Jwt": {
    "Key": "RANDOM_JWT_KEY_USED_FOR_BEARER_AUTHORIZATION",
    "Issuer": "https://localhost:44370/"
  },
  "SmtpConfig": {
    "Host": "",
    "Port": 8888,
    "UseSSL": false,
    "Name": "",
    "Username": "",
    "EmailAddress": "",
    "Password": ""
  },
  "RobotsTxt": [
    "User-agent: *",
    "Disallow: /admin",
    "Sitemap: https://localhost:44370/sitemap.xml"
  ],
  "MetaTags": {
    "OpenGraphSiteName": "",
    "OpenGraphType": "",
    "FacebookAppId": "",
    "TwitterCard": "",
    "TwitterCreator": "",
    "TwitterSite": ""
  }
}

Configuration is separated on following sections

Project Meta Information

This information is used to be rendered project information into the administration panel. It contains two properties:

Connection Strings

This section is used to contains all connections to different databases used from the application. In mvc567 case, you must set up just one specific property DatabaseConnection which must be a valid SQL Server connection string.

Admin Login Authenticator

These configuration properties are used for the third factor of admin authentication. The properties are as follows:

Google Recaptcha Keys

Properties of this section are related to Google ReCaptcha configuration. Based on properties you must set up SiteKey and SecretKey for VisibleRecaptcha and InvisibleRecaptcha. In general case, only a Visible ReCaptcha is used so you must set up at least their keys. But in case you will use invisible one, you must set up the InvisibleRecaptcha keys either.

Jwt

This section will be used for bearer authorization settings and contains two properties:

Smtp Config

The properties of this section are related to email configuration. The required properties are as follows:

Robots Txt

The content of this property is in the form of an array and each item of the array will be implemented as a row of robots.txt file.

Meta Tags

Properties of this section are used for SEO and their existance will be applied as follows:

OpenGraphSiteName
<meta property="og:site_name" />
OpenGraphType
<meta property="og:type" />
FacebookAppId
<meta property="fb:app_id" />
TwitterCard
<meta name="twitter:card" />
TwitterCreator
<meta name="twitter:creator" />
TwitterSite
<meta name="twitter:site" />