A demo website contains many best practices.
Branch | Build Status | Coverage Status |
---|---|---|
master |
Main website.
(1) Use angular.js as the javascript framework.
(2) Use TypeScript as a superset of javascript.
(3) Use Redis as distributed cache.
(4) Use JqueryDataTables as table control.
(5) Use Unity as DI framework.
(6) Use bootstrap as UI framework.
(7) Use Code Analysis/ Fxcop to prevent the high Cyclomatic Complexity or something like that.
(8) Use StyleCop to keep codes clean.
(9) Use jsHint and tsLint to make javascript/TypeScript code clean and strong.
(10) Use some Node.js plugin such as grunt/gulp to auto watch file changes.
(11) Use Castle.Core as AOP framework.
(12) Use Google Analytics to analyze users' behaviour.
(1) BDD
Use SpecFlow as BDD framework.
(2) Jasmine
Use Jasmine and Karma to test javascript code.
(3) WebToolService.Test
Test project for WebToolService.csproj.
Common utilities such as NLog, JSON.net, Redis.
WebToolRepository Repository layer: using EntityFramework as ORM.
Use Db Project to control versions of all the tables and stored procedure.
Multilanguage project, display different language depending on browser settings and user selection.
(1) WebToolService WebTool related service layer.