Not all code is equal. We have developed our own unique coding standards, design patterns, and techniques that combine the industry’s best practices to create truly elegant software. Our code library (built over several years) simplifies the development of rich, responsive, web, mobile, and tablet applications using MVC, jQuery, JSON and other technologies. It streamlines development and eliminates common design errors, while remaining flexible enough to support nearly an kind of software application. Here are just a few of the features in our tool belt.
Core Data Model – A standardized, extensible multi-tenant database architecture that provides a highly consistent and secure design pattern for ensuring that customer data remains isolated, while still maintaining a single database, allowing for easy maintenance, cross site reporting and sharing of data between organizational units. The core data model supports many of the other features that the Surge Platform provides.
Multi-Tenancy – Sophisticated multi-tenancy support, including multiple level hierarchies and cross site reporting. Multi-tenancy constraints are automatically enforced by the platform — no extra development effort required.
Authentication – Built on the standard ASP.NET MVC filter system, provides secure and robust user management options, including user security requirements mandated by laws such as HIPAA and PIPEDA.
Authorization – Declarative role-based security allows developers to quickly define security rules for an application with minimal code.
Templates – Advanced client side template functionality allows for extremely responsive applications, and enables support for other features such as offline mobile support.
View Management – A lightweight system for managing a hierarchy of UI components. Provides simple initialization and resource management strategies for asynchronously loaded content.
Data Binding – Reduce boilerplate by using simple, effective data binding tools.
Declarative UI – Allows jQuery UI widgets, security constraints, and many other common concerns in UI development to be embedded directly in markup.
List Editor – Provides an extensive system for curating all kinds of reference data — whether it’s a simple dropdown pick list or a rich multidimensional ontology with complex relationships, the List Editor provides a simple, consistent UI and data model for managing information.
jQuery UI Extensions – Provides extensions for many common jQuery UI widgets to support large scale application development.
Data Table – An extremely fast, flexible rendering system for tabular data.
Scheduler – A scheduling component for any kind of recurring event, based on the flexible iCal standard.
Dashboard – Provides access to your most important data in an attractive, easy to use format.
Mobile UI – A suite of controls for development of advanced HTML5 mobile applications. The Surge Platform provides one of the few frameworks for developing offline mobile apps that’s actually production ready.
Audit Trail – Automatically, robustly and transparently provides detailed change history for any data element. Auditing can be added to any data entity in a Surge Platform application with a single line of code.
Attachments – File attachment system with support for pluggable back end storage. Default implementation based on a simple content-addressable data store.
Batch Jobs – Flexible scheduling of background jobs that’s tightly integrated with the core data model and multi-tenancy features.
Integration – An extremely robust and powerful design pattern for integration of multiple applications. The Surge integration system is built on sets of lightweight, loosely coupled services which exchange information using standardized messages. Support for common data exchange formats such as HL7 and EDI are standard right out of the box.
Reporting Services – Integrates SQL Server Reporting Services in an attractive, user friendly UI.
Search – A modular component for searching, sorting, and filtering tabular data, with the ability to save search criteria.