[IMP] [16%] AppGauge General Specification Protocol

Coordinator
May 16, 2013 at 2:20 PM
Edited May 28, 2013 at 4:43 AM
Before developing or updating any modules, please go through this walk-through to thoroughly understand how AppGauge works and what you should intend to make it work accordingly.

Sumary:
  1. AGSP (AppGauge General Specification Protocol) is a set of standardization and rules that needs to be followed when developing an application through AppGauge and even developing the AppGauge itself.
  2. AGSP is very crucial to the whole development scenario and will be updated and perfected on every six months.
  3. AGSP is not a tool, a software product or lines of code to be used in applications. But rather a document that resolves disambiguation and provides a compatible pseudo-linear development process.
  4. AGSP also provides guidelines on developing Documentation and specification for applications built with AppGauge.
0. AppGauge
AppGauge is NOT built on MVC. It is built on pull-based 3-Tier Architecture Concept. The main intention of AppGauge is to provide a consistent and easy Web Application Development Framework that is community based. The decision of open-sourcing AppGauge has opened many new possibilities. AppGauge can be used (with conjunction of some 3rd party tools) for Desktop and even Mobile Application Developments too.
AppGauge is built on top of .NET 2.0 to provide maximum compatibility and extensibility. Although a future release exclusively for .NET 4.5 is planned to use the latest features of the .NET and more optimization.
Core Development Tech - VS 2012 w/ SQL Server 2012 on W8.
AppGauge Licensing is very crucial at its heart. Initial source was licensed under Apache which granted the permissions for derivative work. Because it is meant for commercial and public development, we decided to license it under MIT. Now you can use AppGauge code in any commercial or public projects, provided, you retain the main license and copyright notice of AppGauge in your work.

1. Naming Conventions
We are following C# naming conventions as described by Microsoft C# team [here].
It is recommended to comply with these conventions as they will form a consistent code throughout AppGauge. Although, there are some deviations from the conventions in the source, which will be adjusted accordingly.

2. Module Classification
AppGauge itself forms a sophisticated domain that has, till yet, the following departments -
  1. Core - Coding Stuff <geek />
  2. Design - Basic Design - DFDs, Flow Controls, etc.
  3. Documentation - Generating, updating and Maintaining AppGauge Documentation, Tutorials
  4. Data Base Team
  5. Maintenance Team - Code Maintenance, Wiki, Videos, PDFs, etc.
  6. Testing Team
  7. Graphics Team - Artwork, Icons, etc.
3. Flow direction
AppGauge WAF is based on pull-based concept i.e., Presentation Layer (PAL) will communicate with Business Layer (BAL) and request service. BAL, in turn, will validate, authorize the request and communicate with the Data Layer_(DAL)_. DAL will process it and send it to PAL though BAL. This follows a linear approach rather than the MVC one. Support for MVC was dropped to keep this Web Development Framework as easy as possible.
For Code demonstrations, we have provided the simplistic form by combining all code files into one.


4. Whats different in AppGauge
AppGauge aims to be a RAD platform with very high differential margin. Our thought is to provide developers very effective and simple ways of developing applications, at the same time, retaining flexibility, reliability and security.