This Github repository is a project template for an ASP.NET Core web site based on Datasilk Core, Datasilk Core Js, Selector, and Tapestry. The website includes a user system, login page, and account dashboard.
This project is meant to be forked and used as a starting point for developing large-scale, high-performing websites.
- Visual Studio 2019
 - ASP.NET 5.0
 - SQL Server 2017
 - Node.js
 - Gulp
 
Since this project is a starting point for developing your own web applications, you wouldn't neccessarily want to fork this repository. Instead, you should clone the "bare" repository and push it to your own repository.
- Clone the bare repository
 
git clone --bare http://github.com/datasilk/coretemplate YourProjectName
cd YourProjectName
NOTE: replace
YourProjectNamewith the name of your project
- Push the cloned repository into your own repository & delete original cloned folder
 
git push --mirror http://github.com/YourAccount/YourRepository
cd ..
rm -rf YourProjectName
- Clone your repository
 
git clone --recursive http://github.com/YourAccount/YourRepository
- Replace all case-sensitive instances of 
CoreTemplatetoYourProjectNameandcoretemplatetoyourprojectnamein all files within the repository - Rename file 
CoreTemplate.slntoYourProjectName.slnand fileApp/CoreTemplate.csprojtoApp/YourProjectName.csproj - Run command 
npm install - Run command 
gulp default - In Visual Studio, publish the SQL project to SQL Server 2017 (or greater), with your own database name
 - Open 
config.jsonand make sure the database connection string for propertySqlServerTrustedpoints to your database. - Click Play in Visual Studio 2019
 
- SQL Server project includes tables & stored procedures for Users and Security Groups
 - Query project uses Dapper to populate C# models from SQL
 - App project uses ASP.NET 5.0 and Datasilk Core MVC to host web pages & web APIs.
- When accessing website for the first time, you're able to create a new admin user account
 - Can log into user account at 
/loginor from any secure page when access is denied - Redirects to 
/dashboardafter user logs into account - Default web page for URL 
/isApp/Controllers/Home.cs - Dashboard contains a sidebar with a menu system
 - UI provided by Tapestry, a CSS/LESS UI framework.
 - Javascript uses Selector as a light-weight replacement for jQuery (under 5KB)
 - Datasilk Core Js is used as a simple client-side framework for structuring page-level Javascript code, making AJAX requests, and calling utility functions
 - Build MVC web pages using html files & mustache variables. For example:
 
 
Example: HTML with mustache variables & blocks
<html><body>
	<div class="menu">{{menu}}</div>
	{{has-sub-menu}}
		<div class="menu sub">{{sub-menu}}</div>
	{{/has-sub-menu}}
	<div class="body">{{content}}</div>
</body></html>
All above projects were concieved & developed by Mark Entingh, who has a strong passion for web development.
