-
Notifications
You must be signed in to change notification settings - Fork 3
CoolTowel Reference Architecture
hasith edited this page Jul 24, 2013
·
13 revisions
During last few years, we have been refering/experimenting several reference architectures for software "Product" development projects. Needless to say that "Product" development is vastly different to other deciplines such as bespoke application development or enterprise applications development.
After few projects, we recognized the gap of a robust reference architecture for a modern software product development. As a result, CoolTowel was born!
The CoolTowel architecture depicts several important aspects an architect may consider in creating a stable arhitecture for his/her next generation Product suite.
Note: The name 'CoolTowel' is inspired by John Papa's excellent work with the HotTowel template (http://www.johnpapa.net/hottowel/).
- Entity Framework 6 Beta
- ASP.NET MVC 5 prerelease
- Durandal 2.0 Beta
- Twitter Bootstrap
- KnockoutJS
- RequireJS
- BreezeJS
- Toastr
- and some more
- Repository and Unit of Work based Data Layer
- Generic repository base classes for entities
- EF reporitory initialization with seed data
- OData based REST API with advanced query support ($expand, $filter, etc.)
- Generic controller base classes for CRUD operations over REST API
- Server calls via a common DataService
- Browser history/routing/bookmarking
- Patterns for elegand knockout bindings
- Complex components having child components sharing the same model
- User notifications with toastr.js
- Component lifecycle management
- Routing and navigation
- Dialogs, Events
- Widgets, and more
- Generic Integration Tests for Data Access Layer (repository tests)
- Generic Integration Tests for REST API (controller tests)
- Multitenancy and cloud deployment support
- OAuth based security
- EF migration support
- Progressbar
- Form factor responsiveness
- Web optimization support
- Localization support
- More samples (REST API with navigation properties, REST custom actions other than CRUD)