@manhnguyenv

Welcome to my blog!

AdminLTE Advanced

February 17, 2020 14:39

AdminLTE Advanced (edit)

HTML, CSS, JavaScript - Frontend

https://adminlte.io/docs/2.4/js-control-sidebar

https://css-tricks.com/how-to-disable-links/

https://css-tricks.com/almanac/properties/p/pointer-events/

https://stackoverflow.com/questions/28083708/how-to-disable-clicking-inside-div

https://stackoverflow.com/questions/639815/how-to-disable-all-div-content

$(selector).find('*').unbind('click');

Selector:

https://www.freecodecamp.org/news/back-to-basics-demystifying-css-and-jquery-selectors-12d75946b8b7/

https://www.java67.com/2016/09/10-example-of-jquery-selectors-for-web.html

https://jquerytipsntricks.wordpress.com/2013/12/23/prevent-click-event-on-certain-child-element-using-jquery/

https://kamranahmed.info/blog/2014/08/18/event-bubbling-and-how-can-it-be-prevented/

https://www.tutorialspoint.com/How-to-select-ALL-children-in-any-level-from-a-parent-in-jQuery

https://www.kidsil.net/2011/05/jquery-click-excluding-child/

Security:

ASP.NET Core MVC: ASP.NEThttps://studymash.com/our-courses/web-development/build-real-world-web-application-in-asp-net-core-and-mvc/?tab=tab-curriculum

Become an ASP.NET Core Developerhttps://www.linkedin.com/learning/paths/become-an-aspnet-core-developer

ASP.NET Core Group Rules: 

https://mvc.daypilot.org/open-source/

EF Core: https://www.yogihosting.com/category/ef-core/?ref=hackr.io (HAY HAY HAY HAY HAY)

ASP.NET MVC: https://blog.udemy.com/asp-net-mvc-tutorial/

ASP.NET MVC: http://www.tutorialsteacher.com/mvc/asp.net-mvc-tutorials

ASP.NET MVC: http://www.tutorialspoint.com/asp.net_mvc/

https://www.quora.com/Should-I-learn-ASP-Net-MVC-or-ASP-Net-Core (HAY HAY HAY)

https://www.bestdotnettraining.com/csharp-online-training (HAY HAY HAY)

https://www.quora.com/Which-is-a-better-approach-to-learn-first-ASP-NET-MVC-or-ASP-NET-with-C

C# is the mandatory skill if you want to be a web application developer in ASP.NET or ASP.NET MVC.

Here are the concepts in C#

  • Strong knowledge of OOPS, popular Design Patterns(Factory, Facade, Adapter, Iterator, Observable, Chain of responsibility, Proxy, Command and Singleton ) and SOLID principle
  • Generic Collection frame work List, IEnumerable, IEnumerator, IQueryable,ICollection.
  • Basic knowledge about disposable mechanism, garbage collection.
  • Basics of reflection, Task parallel library
  • LINQ ( With Entity framework/ any collection)

Prerequisite:

  • C#
  • Fundamental knowledge of HTML.
  • Fundamental Knowledge of CSS.
  • Go ahed don't worry about asp. Net webforms but make sure to have knowledge about.
  • Client and server state management techniques:
    • Query string
    • Session
    • ApplicationState
    • Cookies

Top C# Language Online Courses:

#1 C# Programming Course

#2 C# Intermediate: Classes, Interfaces and OOP

Top ASP.NET Online Courses:

#1 .NET Programming

#2 ASP NET Core (ASP.NET 5),MVC 6,C#,Angular4 & EF Crash Course

Learn to build and deploy fast and secure web applications with ASP.NET MVC 5

Course Link: The Complete ASP.NET MVC 5 Course

What Will You Learn?

  • Understand the MVC architectural pattern
  • Implement CRUD operations
  • Build forms with server-side and client-side validation
  • Build RESTful services using ASP.NET Web API
  • Use powerful jQuery plug-ins
  • Implement authentication and authorization using ASP.NET Web API
  • Use Entity Framework to query or update data
  • Understand and apply security best practices
  • Build and deploy applications
  • Create and customize build configurations
  • Manage client / server dependencies
  • Test APIs using PostMan
  • Use AutoMapper

Requirements to take this course:

  • C# (at a minimum lambda expressions, LINQ)
  • Basic familiarity with web development (HTML, CSS, JavaScript, jQuery)

ASP.NET MVC is a server-side web framework for building dynamic, data-driven web applications. Since its first release in 2009, it has gained a lot of popularity amongst developers using Microsoft technologies. If you want to get employed as a web developer at a company that utilizes Microsoft technologies, you need to master ASP.NET MVC.

By the end of watching this course, you'll be able to:

  • Implement CRUD operations
  • Build forms with validation
  • Build RESTful services using ASP.NET Web API
  • Use Entity Framework code-first workflow to build a model
  • Implement security, authentication and authorization using ASP.NET Identity
  • Use powerful jQuery plugins
  • Optimize application's performance
  • Build and deploy your applications
  • And much more...

How can I become a better ASP.NET MVC Developer?

https://www.quora.com/How-can-I-become-a-better-Asp-net-Mvc-developer/answer/Jay-Prakash-214

Practice makes a man perfect..!!! You know this right, it’s universal truth. If you want to became master in ASP.NET MVC, you have to do practice, lot of practice.

Apart from that I can tell you which fields are major in MVC and you have to be more concentrate on that.

  • What is MVC? - It stands for Model View Controller.Model is where we define our classes, objects, properties that will hold values to be displayed to the user.View is the User Interface or the final output that will be shown to the user.Controller is the first point that is executed when we hit a url. It basically forms the link between model and view and based on the url it determines which view is supposed to be displayed to the user.
  • Folder Structure in MVC - Some important folders to look out to, when we create an MVC applicationApp_Start - This folder contains some configuration files for the entire MVC application. BundleConfig.cs, FilterConfig.cs, RouteConfig.cs are some files inside these folders. Please go in depth with these.Models - Normally all model (class) files are grouped inside this folder.Controllers - Normally all controllers are grouped inside this folder.Views - Views are clubbed inside this folder.
  • Routing - A very important concept which is the root of MVC. For eg:- http://localhost:1111/Employee/G... url is hit. Routing determines, based on the url, which controller to call and which method inside that controller to execute. In above example “Employee” is the controller and “GetEmpList” will be the method mentioned inside Employee controller that needs to executed. Also, routing allows a user to create their custom user-friendly urls. These configurations are specified in RouteConfig.cs file.
  • Validations - MVC provides various attribute based validations that can be applied directly over the property inside your model. Also dig into how these validations are invoked on the html page.

For eg:-[Required] public string Genre { get; set; }

  • Bundling and Minification - Again very important concepts. As the name suggests bundling means to create a bundle. Let’s say, you have few related js files you want to use in your application. You mention them in your html page. So, when application is executed, these files are one by one loaded. It means, more server working. So you create a bundle of these files and specify that bundle in your html page. Run the application and your files are loaded in one go. Minification is your min.js or min.css files. They are created once you apply bundling. So please go through how to create bundle and use it in your page. The file for this is BundleConfig.cs.
  • Razor - This is your view page. The extension in MVC is cshtml. Simpler to use than web forms. The syntax usage is very easy compared to web forms.
  • Action Results - ActionResult is an abstract class and there are 12 types of different results derived from it. These results define the type of output that will be shown to the user. Please go in detail through them. Specially JsonResult as this will play a vital role in sending data to view using ajax.
  • Knockout usage with MVC. - One of the many ways to display data from controller to view. The core knockout need not be known, but just the way to bind data from controller to view.
  • ViewBag, ViewData, TempData - How to pass dynamic data between requests or from one entity to other? Hence, Presenting to you these three ways. Please go in depth with them.
  • ViewModel - A concept that binds your model and view such that any change in the model reflects in the view and vice versa.
  • Action Filtering - For example, when the user clicks a link, a controller and the corresponding action method is called. Sometimes, we want to perform certain logic before an action is called or during an action method is executing or after the method is done executing. Hence, MVC provides ActionFilters for that. It provides methods to process logic, in between action method executing and after action method is done executing. We can also create Custom Action Filters. Please go through all these points.
  • Other Filters - AuthorizationFilter, ResultFilters, ExceptionFilters are some more filters which are provided by MVC and useful. Please go in depth with these.
  • Entity Framework - An easy way to communicate with MVC and your database. You can map your application and your database using Entity Framework and call store procedures/ functions using it. Also, any changes in the database can be easily reflected in your application by just updating the edmx. Please go through, how to use stored procedures and functions using Entity Framework.
  • Areas - It allows you to group your different modules under separate folders each having their own MVC structure. For eg:- We are covering two functionalities in our application. Accounts and Invoice. So we create two areas with these names. They have their own MVC folder structure where you can add their respective models, views and controllers. It’s for easy maintenance. However, the main thing here is to know, how to call controller/view of one area from other area. Please dwelve on how to create areas and call/transfer data in between areas.

BEST BEST BEST

Programming languages have come a long way in terms of being easy to learn and understand.

C# is a versatile programming language, and after learning it, you can apply your skills to a variety of things. The .NET framework includes hundreds of libraries for working with the file system, managing security.

If you are looking forward for Online MVC Course I strongly reccomend to join these online programme . With these training you can build an endless variety of applications, from web apps to mobile apps, REST APIs, and more.

  1. Tutorials Teacher

Key Topics covered in this are:

  • Data types, classes, and variables
  • Switches and loops
  • Strings and arrays
  • Stream I/O

2. Lynda.com – Learning C#

Key Topics covered in this are:

  • Working with loops
  • Building functions
  • Catching errors
  • Managing resources with the garbage collector

3. C# Station

Key Topics covered in this are:

  • Expressions, Types, and Variables
  • Namespaces
  • Introduction to Classes
  • Indexers and Attributes
  • Working with Nullable types

4. Deccansoft -C# Training

Key Topics covered in this are:

  • Key Topics:.NET Framework
  • Concepts behind CLR (Common Language Runtime)
  • Building a standard GUI for Windows based applications using WinForms.
  • Developing scalable applications using multithreading features of .NET

5. edX – Programming with C#

Key Topics covered in this are:

  • The C# syntax
  • C# language fundamentals
  • Object oriented programming
  • The .NET Framework concept

6. Microsoft Virtual Academy – C# fundamentals for absolute beginners

Key Topics covered in this are:

  • Creating and understanding your first C# program
  • Understanding Data types and Variables
  • Understanding Arrays
  • Working with Strings
  • Learning how to work with Date and Time data

7. Udemy – C# Programming projects for beginners

Key Topics covered in this are:

  • Practicing loops, arrays, and structures
  • Start coding beginner projects immediately
  • Thinking like a programmer
  • Using the right approach

You can read here best online tutorials for Asp.Net Online Course

HAY HAY HAY HAY HAY

https://www.quora.com/Which-is-the-best-source-to-learn-ASP-NET-with-C-MVC-online-from-scratch

The best tutorials to learn ASP.NET and C# are from Microsoft Virtual Academy (MVA).

Microsoft Virtual Academy provides free, online training to help Developers, IT and Data Professionals, and students learn the latest technology, build their skills, and advance their careers.

And during studying courses in MVA you will have tests for each level and points you finish also finally can gain a certificate after course completion.

Sample of my Certificates from MVA in ASP.NET MVC.

Also after learning and finishing tutorials , you can check free .NET open source projects to try to develop a project by yourself.

Below several examples for MVC open source projects to check their ideas in several types of applications (Games, Social Network, Advanced Business applications and more ... )

  • Games applications:
    CHESS GAME : Free open source Chess game developed with MicrosoftASP.NET MVC4.
  • Chat applications:
    Real-time chat applications : Real-time web application with ASP.NETSignalR 2 and ASP.NET MVC 5.
  • Advanced Business applications:
    Applications that manage special business for any organization (University, Company, Hospital, Restaurants ... ), with advanced technical project architecture (Multi layer or N-Tier architecture, Generic repository, Multi language support, Multi country support,  Web services and with Database )
    1. Pro-Dinner application : Application to host dinners with multi language support, developed with MVC5.
      Life Demo for Pro-Dinner.
      Project architecture for Pro-Dinner.
    2. More free open source project with ASP.NET MVC to download

https://www.quora.com/What-are-the-best-resources-to-learn-asp-net-MVC

https://www.quora.com/What-is-the-best-online-tutorial-for-learning-C-net-and-ASP-NET-MVC-4

Good Good Good

Udemy reached out to me and asked me if I would be interested in writing a beginner's tutorial on ASP.NET MVC. It can be found here (ASP.NET MVC Tutorial).

I'm also active writing about ASP.NET MVC on my web site (http://www.danylkoweb.com/) with more advanced topics.

https://hackr.io/tutorials/learn-asp-net (HAY HAY HAY HAY HAY)

I will strongly recommend you to follow kudvenkat video tutorials. This channel is really god of ASP.NET , C# and lot more things like MVC, ADO.NET, SQL, WCF, Bootstrap, Angular.

You can also find tutorials on blogpost Sql server, .net and c# video tutorial.

He teach step by step. You will find tutorials easy to understand. He covers all the basics of every topic. Once you start watching, you will know beauty.

Many Windows software solution companies taught this tutorials to their freshers.

https://www.quora.com/What-is-the-best-way-to-study-ASP-NET-MVC

https://www.quora.com/Is-there-any-ASP-NET-MVC-scheduler-open-source

https://www.quora.com/What-are-the-different-ways-to-secure-the-ASP-NET-MVC-application

https://www.quora.com/What-is-the-best-book-for-asp-net-MVC

https://www.quora.com/Why-is-ADO-NET-not-preferred-in-ASP-NET-Core-MVC-applications

https://www.softprodigy.com/expert-opinion-on-the-future-of-asp-net-web-development-solutions-as-a-server-side-technology/

Training: https://www.dotnettricks.com/training/masters-program/mvc-angular

Dynamic Themes

https://www.codeproject.com/Articles/32847/ASP-NET-MVC-Dynamic-Themes

https://cpratt.co/how-to-change-the-default-asp-net-mvc-themet/

Sample Admin Template

http://mvcadmintemplate.azurewebsites.net/

https://github.com/jrocket/MVC-Bootstrap-3-Admin-Template

https://github.com/puikinsh/Bootstrap-Admin-Template

Open Source

https://www.findbestopensource.com/product/go2ismail-adminlte-asp-net-mvc (HAY HAY HAY HAY HAY)

AdminLTE Questions

https://stackexchange.com/search?q=AdminLTE

https://stackoverflow.com/questions/tagged/adminlte

https://stackoverflow.com/tags/adminlte/

https://stackoverflow.com/tags/adminlte/new

AdminLTE Expand or Fullscreen Boxes

https://stackoverflow.com/questions/37785701/adminlte-expand-or-fullscreen-boxes

AdminLTE + Angular

https://www.prishusoft.com/blog/Integrate-AdminLTE-theme-to-Angular-Project.html

AdminLTE 2.4.x Demo: https://adminlte.io/themes/AdminLTE/index2.html

AdminLTE 2.0.4 into ASP.NET MVC 5: https://github.com/eralston/AdminLteMvc

https://www.nuget.org/packages/AdminLteMvc/

AdminLTE 2.4.0 into ASP.NET MVC 5: https://github.com/go2ismail/AdminLTE-ASP-NET-MVC

https://www.howtosolutions.net/2017/05/visual-studio-asp-net-mvc-project-installing-adminlte-control-panel/ (HAY HAY HAY)

AdminLTE 2.4.9 into ASP.NET MVC 5: https://github.com/c0shea/AdminLTE-Template

https://marketplace.visualstudio.com/items?itemName=c0shea.AdminLTETemplate

AdminLTE into ASP.NET MVC 5 (VN)

https://sharecode.vn/source-code/adminlte-project-template-aspnet-mvc-5-19751.htm

AdminLTE 2.4.9 into ASP.NET Core MVC:

https://codinginfinite.com/setting-up-admin-template-asp-net-core-mvc/

https://codinginfinite.com/creating-admin-panel-asp-net-core-mvc-tutorial/

CSS: Word Break

-ms-word-break: break-all;
word-break: break-all; overflow-wrap: break-word; word-wrap: break-word;

https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/

Bootstrap Sidebar

https://github.com/BlackrockDigital/startbootstrap-simple-sidebar

AdminLTE Tutorials

Tutorial Part 1  

Tutorial Part 2 

Tutorial Part 3

AdminLTE Treeview not working properly (HAY HAY HAY)

https://stackoverflow.com/questions/54956246/adminlte-2-4-5-treeview-not-working-properly-after-refresh-only-it-is-working-in

$(document).on('turbolinks:load', function(){
  $(Selector.data).each(function () {
    Plugin.call($(this));
  });
});

AdminLTE Box Collapse Trigger Event Listener (HAY HAY HAY)

https://stackoverflow.com/questions/38399553/adminlte-box-collapse-trigger-event-listener

box_content
.slideUp(_this.animationSpeed, function () { box.addClass("collapsed-box"); box.trigger('collapsed',[box, element]); }); box_content.slideDown(_this.animationSpeed, function () { box.removeClass("collapsed-box"); box.trigger('expanded',[box, element]); });

AdminLTE: Sidebar & Top Navbar (HAY HAY HAY)

https://stackoverflow.com/questions/51297099/adminlte-how-to-collapse-sidebar-but-not-top-navbar

AdminLTE Menu (HAY HAY HAY)

See: https://stackoverflow.com/a/46256226/7353073

This works for AdminLTE Sidebar Menu and also for Sidebar Menu Treeview

/* add active class and stay opened when selected */
var url = window.location;

// for sidebar menu entirely but not cover treeview
$('ul.sidebar-menu a').filter(function() {
    return this.href == url;
}).parent().siblings().removeClass('active').end().addClass('active');

// for treeview
$('ul.treeview-menu a').filter(function() {
    return this.href == url;
}).parentsUntil(".sidebar-menu > .treeview-menu").siblings().removeClass('active').end().addClass('active');

AdminLTE with iFrame (HAY HAY HAY HAY HAY):

https://weituotian.github.io/AdminLTE-With-Iframe/

https://gitee.com/feiybox/AdminLTE-With-Iframe/

https://gitee.com/VensonYang/AdminLTE-With-Iframe/

https://github.com/nvmanhifi/AdminLTE-With-Iframe

https://gitee.com/nvmanhifi/AdminLTE-With-Iframe/

Live text search function:

http://www.designchemical.com/blog/index.php/jquery/live-text-search-function-using-jquery/

http://www.designchemical.com/lab/jquery/demo/jquery_demo_live_comment_search.htm

Live menu search:

https://github.com/ColorlibHQ/AdminLTE/issues/798

Sidebar:

https://adminlte.io/docs/2.4/sidebar

https://stackoverflow.com/questions/49447184/hide-text-of-title-in-sidebar-collapse-in-adminlte

https://stackoverflow.com/questions/49750474/sidebar-menu-title-not-showing-properly-in-adminlte

JS Box Refresh:

https://adminlte.io/docs/2.4/js-box-refresh

Treeview-menu in Sidebar:

https://github.com/tannakartikey/AdminLTE/commit/44434ac54021744bfffe908810248f181690cb5d

Hover dropdown menu

https://github.com/ColorlibHQ/AdminLTE/issues/339

AdminLTE with iFrame:

https://weituotian.oschina.io/adminlte-with-iframe/

Angular 7:

https://www.c-sharpcorner.com/article/integrating-theme-in-angular-72/

React:

https://github.com/zksailor534/react-adminlte-dash

Dynamic Menu AdminLTE

https://seegatesite.com/create-dynamic-modal-dialog-form-in-adminlte-bootstrap-template/
https://seegatesite.com/tutorial-build-point-of-sale-with-php-pdo-mysql-and-jquery-part-1
https://seegatesite.com/dynamic-menu-adminlte-and-dashboard-page-tutorial-build-point-of-sale-with-php-pdo-mysql-and-jquery-part-2/
https://seegatesite.com/create-dynamic-sidebar-multilevel-menu-in-adminlte-with-mysql-php-and-pdo/
https://seegatesite.com/creating-dynamic-sidebar-menu-with-mysql-and-adminlte-bootstrap-template/
https://seegatesite.com/how-to-create-user-permissions-view-to-dynamic-sidebar-menu-adminlte/
https://seegatesite.com/tutorial-create-dynamic-sidebar-menu-on-mysql-node-js-express-adminlte-for-beginner/

ASP.NET MVC + AdminLTE

March 31, 2018 00:14

ASP.NET MVC + AdminLTE (edit)

ASP.NET MVC Application with a Custom Layout (Login screen)

https://code.msdn.microsoft.com/ASPNET-MVC-Application-b4b0dc3f

A NuGet package for integrating Admin LTE 2.0.4 into ASP.Net MVC 5

https://github.com/eralston/AdminLteMvc (AdminLTE version 2.0.4)

ASP.NET Example Version of Beautiful AdminLTE Template

https://github.com/go2ismail/AdminLTE-ASP-NET-MVC (AdminLTE version 2.4.0)

Tutorials & Samples on adding Charts into ASP.NET MVC Applications

https://canvasjs.com/docs/charts/integration/asp-net-mvc-charts/ (Chart)

CRUD Operations in ASP.NET MVC Using AJAX and Bootstrap

https://dzone.com/articles/crud-operation-in-aspnet-mvc-using-ajax-and-bootst

AdminLTE +  ASP.NET MVC 5 + Net Framework 4.8

https://github.com/DiomedesDominguez/AdminLTE.NET

ASP.NET MVC 5 Scaffolding

https://github.com/robinli/MVC5-Scaffolder

ASP.NET MVC 5 SmartCode Scaffolding (HAY HAY HAY)

https://github.com/neozhu/MVC5-Scaffolder

https://www.bbsmax.com/A/kvJ3LkNp5g/

http://www.matools.com/lang-en/blog/190137840

https://www.cnblogs.com/neozhu/p/8744414.html

https://blog.csdn.net/weixin_34235457/article/details/94016484

https://blog.csdn.net/sd7o95o/article/details/78519238

https://blog.csdn.net/weixin_34080951/article/details/94523127

ASP.NET MVC 5 Scaffolding

https://github.com/tzhsweet/MVC5-Scaffolder

ASP.NET Web API Attribute Routing

https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/create-a-rest-api-with-attribute-routing#controller-code

AdminLTE Template

https://github.com/weituotian/AdminLTE-With-Iframe (HAY HAY HAY)

https://github.com/tzhsweet/MVC5-Scaffolder (HAY HAY HAY) - Demo: http://longle.azurewebsites.net/

Demo: https://weituotian.oschina.io/adminlte-with-iframe/index2.html

Demo: https://weituotian.github.io/AdminLTE-With-Iframe/

Preview on github: https://weituotian.github.io/AdminLTE-With-Iframe/pages/index_iframe.html

Preview on oschina: http://weituotian.oschina.io/adminlte-with-iframe/pages/index_iframe.html

https://www.c-sharpcorner.com/article/dashboard-application-with-asp-net-mvc-5-and-jquery/ (HAY HAY HAY)

https://github.com/cyberzilla/dycms (HAY HAY HAY) - How can I implement Tab Pages in AdminLTE?

rrpuz7 x7rns4 9wly7m61z

https://www.quora.com/Where-can-I-find-free-ASP-NET-dashboard-templates (Where can I find free ASP.NET Dashboard templates?)

https://marketplace.visualstudio.com/items?itemName=c0shea.AdminLTETemplate (AdminLTE version 2.4.9)

https://marketplace.visualstudio.com/items?itemName=DiomedesIgnacioDominguezUrena.N-LayerAdminLTENET (AdminLTE version 2.4.9)

https://awesomeopensource.com/projects/adminlte (AdminLTE version 2.4.9)

http://hjnilsson.github.io/country-flags/ (Country flags)

https://vimeo.com/125426951 (IdentityManager with ASP.NET Identity)

https://github.com/eralston/AdminLteMvc/ (AdminLTE version 2.0.4)

https://www.youtube.com/watch?v=xnncfeFv108 (AdminLTE in ASP.NET Core MVC)

Good resources

https://www.jerriepelser.com/blog/5-weeks-of-aspnet-weekly-tools-and-libraries-part-1/

https://www.jerriepelser.com/blog/5-weeks-of-aspnet-weekly-tools-and-libraries-part-2/

https://www.jerriepelser.com/blog/5-weeks-of-aspnet-weekly-tools-and-libraries-part-3/

AdminLTE Downloads

https://github.com/almasaeed2010/AdminLTE/archive/v2.4.10.zip

https://github.com/almasaeed2010/AdminLTE/archive/v2.4.9.zip

https://github.com/almasaeed2010/AdminLTE/archive/v2.4.5.zip

https://github.com/almasaeed2010/AdminLTE/archive/v2.4.0.zip (HAY)

AdminLTE Guide

https://adminlte.io/themes/AdminLTE/documentation/index.html

https://www.howtosolutions.net/2017/05/visual-studio-asp-net-mvc-project-installing-adminlte-control-panel/ (HAY)

AdminLTE + MVC 5
https://github.com/go2ismail/AdminLTE-ASP-NET-MVC
https://github.com/c0shea/AdminLTE-Template (HAY)
https://code.msdn.microsoft.com/ASPNET-MVC-Application-b4b0dc3f/
https://github.com/Magik3a/Multi-Language-API

Patient Management
https://github.com/Magik3a/PatientManagement_Admin

Design and Print Stickers

https://github.com/Magik3a/DesignAndPrintStickers
jQuery file upload, iTextSharp, Html Agility Pack, Cropper v2.3.3 - jQuery image cropping plugin

Easy Admin Dashboard with MVC
http://prabathsl.blogspot.com/2016/04/easy-admin-dashboard-with-mvc.html

Admin Dashboard
https://www.nuget.org/packages/Admin_Dashboard/
Install-Package Admin_Dashboard -Version 1.0.0

AdminLTE
https://github.com/almasaeed2010/AdminLTE

CMS MVC5
+ AdminLteMvc (https://github.com/eralston/AdminLteMvc)
+ Mvc CMS (https://github.com/jwmcpeak/Building-a-CMS-With-ASP.NET-MVC5)
+ Mr CMS (https://github.com/MrCMS/MrCMS)
+ MVCwCMS (https://github.com/valgen/mvcwcms)
+ Umbraco (https://github.com/umbraco/Umbraco-CMS)
+ sBlog.Net (https://github.com/karthik25/sblog.net)
+ N2CMS (https://github.com/n2cms/n2cms)
+ Better CMS
+ Piranha CMS (https://github.com/PiranhaCMS/Piranha)
+ BlogEngine.NET (https://github.com/rxtur/BlogEngine.NET)
+ Awesome (https://github.com/quozd/awesome-dotnet)

CMS MVC6
+ AdminLte .NET Core (https://github.com/moemura/AdminLTE.Core)
+ Awesome .NET Core (https://github.com/thangchung/awesome-dotnet-core)

Ecommerce MVC5
+ NopCommerce (https://github.com/nopSolutions/nopCommerce)

Ecommerce MVC6
+ SimplCommerce (https://github.com/simplcommerce/simplcommerce)

Scheduler
+ Quartznet (https://github.com/quartznet/quartznet)
+ FluentScheduler (https://github.com/fluentscheduler/FluentScheduler)
+ Hangfire (https://www.hangfire.io/)

Search
+ ElasticSearch (https://github.com/elastic/elasticsearch-net)

Templates
+ Boilerplate (https://github.com/ASP-NET-Core-Boilerplate/Templates)
+ MVC Bootstrap (https://github.com/steve-haar/MVC-Bootstrap)

Code review checklist

December 27, 2017 10:09

Code Review Checklist (edit)

https://www.guru99.com/asp-net-web-api-interview-questions.html

https://www.fullstack.cafe/blog/asp-net-web-api-interview-questions

AdminLTE.Core (HAY HAY HAY)

https://www.udemy.com/course/complete-aspnet-core-21-course/

Implementing CQRS Pattern with Vue.js & ASP.NET Core MVC

https://www.codeproject.com/Articles/5262285/Implementing-CQRS-Pattern-with-Vue-js-ASP-NET-Core

https://www.c-sharpcorner.com/article/implementing-cqrs-pattern-with-vue-js-asp-net-core-mvc/

Implementing CQRS Pattern with Vue.js & ASP.NET Core MVC

https://codeload.github.com/ColorlibHQ/AdminLTE/zip/v2.4.18 (HAY HAY HAY)

https://github.com/moemura/AdminLTE.Core (HAY HAY HAY)

https://github.com/moemura/AdminLTE.Core/releases/tag/2.0.1

https://github.com/dotnet-express/AdminLTE-Starter-Kit/releases

https://github.com/dotnet-express/AdminLTE-Starter-Kit/releases/tag/v0.8.0

https://github.com/go2ismail/adminlte-aspnetcore2-version

https://github.com/shehryarkn/Dynamic-User-Defined-Dashboards-Asp-Net-Core

https://github.com/shehryarkn/Asp-net-Core-Project-with-Admin-Template-Setup

Code Review

Checklist: https://www.michaelagreiler.com/code-review-checklist/

Google: https://blog.fullstory.com/what-we-learned-from-google-code-reviews-arent-just-for-catching-bugs/

Microsoft: https://www.michaelagreiler.com/code-reviews-at-microsoft-how-to-code-review-at-a-large-software-company/

Code Guide

https://www.cybersecuritycourses.com/course/dev544-secure-coding-in-net-developing-defensible-applications/ (HAY HAY HAY)

https://niccs.us-cert.gov/training/search/sans-institute/secure-coding-net-developing-defensible-applications (HAY HAY HAY)

Code Quality & Secure

1. Readability a.k.a. ‘Understandability’ (Khả năng đọc hoặc Khả năng hiểu được)
2. Maintainability (Bảo trì)
3. Security (Bảo mật)
4. Speed and Performance (Tốc độ và hiệu suất)
5. Documentation (Tài liệu)
6. Reinventing the Wheel (Phát minh lại bánh xe)
7. Reliability (Độ tin cậy)
8. Scalability (Khả năng mở rộng)
9. Reusability (Tái sử dụng)
10. Patterns (Mẫu)
11. Test Coverage and Test Quality (Phạm vi kiểm tra và chất lượng kiểm tra)
12. Fit for Purpose (Phù hợp cho mục đích)

https://www.enosecurity.com/training-tutorials-courses/secure-coding-in-asp-net-training/ (Tranining)

Audience / Target Group:

  • .NET Application Developers
  • C# Programmers
  • ASP.NET Developers
  • Managers, Architects and Technologists involved in deploying .NET applications

Topics: 

  • General Web Application Security Concepts
  • .NET Framework Security Features
  • Input Validation & Encoding
  • Input Driven Attacks
  • Validation Best Practices
  • Output Encoding
  • Common Authentication Weaknesses
  • Authorization Best Practices
  • Controlling Application Access
  • Password Security
  • Session Hijacking & Trapping
  • Protecting User Sessions & Tokens
  • Canonicalization Problems
  • Parameter Manipulation
  • Encryption, Confidentiality & Data Protection
  • Cookie-Based Attacks
  • Protecting Application Variables
  • Error Handling & Logging
  • Attacking via Error Messages
  • Secure Logging & Error Handling
  • Server Configuration & Code Management
  • Common App Server Misconfigurations
  • Protecting Application Code
  • XML Web Services
  • Overview of WSDL, SOAP & AJAX Security
  • Web Service Attacks
  • AJAX Pitfalls
  • Web Service Best Practices
  • Application Threat Modeling
  • Application Context
  • Identifying Attacks, Vulnerabilities & Countermeasures
  • Threat Modeling Tools
  • Cache Control Issues
  • SSL Best Practices

https://forums.asp.net/t/1926690.aspx?Secure+Coding+best+practices+guideline

https://download.microsoft.com/documents/uk/msdn/security/The Developer Highway Code.pdf

http://www.evoketechnologies.com/blog/code-review-checklist-perform-effective-code-reviews/

https://nyu-cds.github.io/effective-code-reviews/01-intro/

https://nyu-cds.github.io/effective-code-reviews/02-best-practices/

https://nyu-cds.github.io/effective-code-reviews/03-checklist/

Security Code Review

https://www.owasp.org/images/2/2e/OWASP_Code_Review_Guide-V1_1.pdf

RESTful API Lifecycle Management

https://dzone.com/refcardz/restful-api-lifecycle-management

LINQ

https://msdn.microsoft.com/en-us/library/bb308959.aspx

Code Review Checklist & Guidelines for CSharp Developers

https://www.codeproject.com/Reference/593751/Code-Review-Checklist-and-Guidelines-for-Csharp-De

Code Review Guidelines

https://www.codeproject.com/Articles/524235/Codeplusreviewplusguidelines

Assign Severity to Review Finding

The severity to find issues with code should go as below. Reviewer must focus on issues with High severity first and then to Medium severity and then Low severity issues.

    1. Naming Conventions and Coding style = Low
    2. Control Structures and Logical issues = Medium or High
    3. Redundant Code = High
    4. Performance Issues = High
    5. Security Issues = High
    6. Scalability Issues = High
    7. Functional Issues =High
    8. Error Handling = High
    9. Reusability = Medium

https://weblogs.asp.net/tgraham/44763

Code Review Checklist

In my previous blog post, we discussed about “10 Simple Code Review Tips for Effective Code Reviews”. Now, let’s take this topic further and explore the code review checklist, which would help to perform effective code reviews to deliver best quality software. 

This code review checklist also helps the code reviewers and software developers (during self code review) to gain expertise in the code review process, as these points are easy to remember and follow during the code review process. 

Let’s first begin with the basic code review checklist and later move on to the detailed code review checklist. 

Basic Code Review Checklist

Let’s discuss about the basic code review checklist, which can be very handy if you are a beginner in code reviews and/or during initial code reviews.

Code Review Checklist for Basic Code Review

While reviewing the code, ask yourself the following basic questions:

  1. Am I able to understand the code easily?
  2. Is the code written following the coding standards/guidelines?
  3. Is the same code duplicated more than twice?
  4. Can I unit test / debug the code easily to find the root cause?
  5. Is this function or class too big? If yes, is the function or class having too many responsibilities?

If you feel that the answer is not satisfactory to any of the above questions, then you can suggest/recommend code changes.

Detailed Code Review Checklist

The following code review checklist gives an idea about the various aspects you need to consider while reviewing the code:

Code Review Checklist - Expert Code Reviewer

1. Code formatting

While going through the code, check the code formatting to improve readability and ensure that there are no blockers:

a) Use alignments (left margin), proper white space. Also ensure that code block starting point and ending point are easily identifiable.

b) Ensure that proper naming conventions (Pascal, CamelCase etc.) have been followed. 

c) Code should fit in the standard 14 inch laptop screen.  There shouldn’t be a need to scroll horizontally to view the code. In a 21 inch monitor, other windows (toolbox, properties etc.) can be opened while modifying code, so always write code keeping in view a 14 inch monitor.

d) Remove the commented code as this is always a blocker, while going through the code. Commented code can be obtained from Source Control (like SVN), if required.

2. Architecture

a) The code should follow the defined architecture.

  1. Separation of Concerns followed
    • Split into multiple layers and tiers as per requirements (Presentation, Business and Data layers).
    • Split into respective files (HTML, JavaScript and CSS).
  1. Code is in sync with existing code patterns/technologies.
  2. Design patterns: Use appropriate design pattern (if it helps), after completely understanding the problem and context.

3. Coding best practices

  1. No hard coding, use constants/configuration values.
  2. Group similar values under an enumeration (enum).
  3. Comments – Do not write comments for what you are doing, instead write comments on why you are doing. Specify about any hacks, workaround and temporary fixes. Additionally, mention pending tasks in your to-do comments, which can be tracked easily.
  4. Avoid multiple if/else blocks.
  5. Use framework features, wherever possible instead of writing custom code.

4. Non Functional requirements

a) Maintainability (Supportability) – The application should require the least amount of effort to support in near future. It should be easy to identify and fix a defect.

  1. Readability: Code should be self-explanatory. Get a feel of story reading, while going through the code. Use appropriate name for variables, functions and classes. If you are taking more time to understand the code, then either code needs refactoring or at least comments have to be written to make it clear.
  2. Testability: The code should be easy to test. Refactor into a separate function (if required). Use interfaces while talking to other layers, as interfaces can be mocked easily. Try to avoid static functions, singleton classes as these are not easily testable by mocks.
  3. Debuggability: Provide support to log the flow of control, parameter data and exception details to find the root cause easily. If you are using Log4Net like component then add support for database logging also, as querying the log table is easy.
  4. Configurability: Keep the configurable values in place (XML file, database table) so that no code changes are required, if the data is changed frequently.

b) Reusability

  1. DRY (Do not Repeat Yourself) principle: The same code should not be repeated more than twice.
  2. Consider reusable services, functions and components.
  3. Consider generic functions and classes.

c) Reliability – Exception handling and cleanup (dispose) resources.

d) Extensibility – Easy to add enhancements with minimal changes to the existing code. One component should be easily replaceable by a better component.

e) Security – Authentication, authorization, input data validation against security threats such as SQL injections and Cross Site Scripting (XSS), encrypting the sensitive data (passwords, credit card information etc.)

f) Performance

  1. Use a data type that best suits the needs such as StringBuilder, generic collection classes.
  2. Lazy loading, asynchronous and parallel processing.
  3. Caching and session/application data.

g) Scalability – Consider if it supports a large user base/data? Can this be deployed into web farms?

h) Usability – Put yourself in the shoes of a end-user and ascertain, if the user interface/API is easy to understand and use. If you are not convinced with the user interface design, then start discussing your ideas with the business analyst.

5. Object-Oriented Analysis and Design (OOAD) Principles

  1. Single Responsibility Principle (SRS): Do not place more than one responsibility into a single class or function, refactor into separate classes and functions.
  2. Open Closed Principle: While adding new functionality, existing code should not be modified. New functionality should be written in new classes and functions.
  3. Liskov substitutability principle: The child class should not change the behavior (meaning) of the parent class. The child class can be used as a substitute for a base class.
  4. Interface segregation: Do not create lengthy interfaces, instead split them into smaller interfaces based on the functionality. The interface should not contain any dependencies (parameters), which are not required for the expected functionality.
  5. Dependency Injection: Do not hardcode the dependencies, instead inject them.

In most cases the principles are interrelated, following one principle automatically satisfies other principles. For e.g: if the ‘Single Responsibility Principle’ is followed, then Reusability and Testability will automatically increase.

In a few cases, one requirement may contradict with other requirement. So need to trade-off based on the importance of the weight-age, e.g. Performance vs Security. Too many checks and logging at multiple layers (UI, Middle tier, Database) would decrease the performance of an application. But few applications, especially relating to finance and banking require multiple checks, audit logging etc. So it is ok to compromise a little on performance to provide enhanced security.

Tools for Code Reviews

  1. The first step while assessing the code quality of the entire project is through a static code analysis tool. Use the tools (based on technology) such as SonarQube, NDepend, FxCop, TFS code analysis rules. There is a myth that static code analysis tools are only for managers.
  2. Use plug-ins such as Resharper, which suggests the best practices in Visual studio.
  3. To track the code review comments use the tools like Crucible, Bitbucket and TFS code review process.

Conclusion

The above code review checklist is not exhaustive, but provides a direction to the code reviewer to conduct effective code reviews and deliver good quality code. Initially, it would take some time to review the code from various aspects. After a bit of practice, code reviewers can perform effective code reviews, without much effort and time. If you would like to become an expert code reviewer, this code review checklist serves as a great starting point. Happy Code Reviewing!

Categories

Recent posts