case-study-web-applications
Home > Web Applications

Kampfire Content Management System

Kampfire is a Web content management system that includes page management, direct Google Analytics integration and more. Kampfire is an example of one our custom Web applications.

Web Applications

Request a Quote from KGBTexas .communications Interactive Team

Content Management Systems and Content Relationship Management

KGBTexas has extensive experience developing custom Web applications for a variety of business needs. The business tools we have developed include content management systems (CMS), business tracking applications and customer relationship management (CRM) systems. All of our systems are developed as a SaaS (software as a service) solution or can be hosted on your own servers.

Feasibility

All of our projects begin with a feasibility study to determine if we can accomplish the business goals required.

Application-Specification Requirements

If we determine from the feasibility study that the project can be done, our next step is to develop the Application Requirement Specification (ARS) document. This document is a map that guides all stakeholders during the development process. The final ARS is a working document that includes use cases, deliverables, assumptions, dependencies, user interfaces, system features and non-functional requirements.

System and Data Design

Once the stakeholders have approved the ARS we move on to the system and data design phases where we focus on the general flow of operation and business objects required. At this stage we focus on the foundation of the system by building the framework, modules and database tables. All of our development is done using industry-standard tools and best practices.

Development Philosophy

Our experience developing custom Web applications has taught us many of the pitfalls that can appear during development and after deployment. We leverage that experience by adhering to a common sense development philosophy outlined below.

Task Focused
All of the decisions we make during system and data designs are based on the tasks that need to be accomplished.

User Centric
Our focus is always centered on how the end-user will interact with the system; this is why we make sure our decisions are also user-centric. Our developers constantly ask themselves “is this the most user-friendly way to solve the problem”.

Iterative Approach
Our task focused and user-centric approach requires that we build a system that is flexible enough to make multiple iterations without too much effort. We build our systems with the understanding that there are always changes.

Convention over Configuration
Building a flexible system requires that we focus on common conventions instead of numerous configuration files. This is why we adhere to the philosophy of creating and using as many conventions as possible so when it is time to make changes they are easy to implement and deploy.

Modular
Modularity allows us to build code that can be reused, moved and shared with other systems easily. Building a system that is flexible means it should also be modular; this is why we make sure all of the tools we build are composed of multiple loosely coupled modules that can be changed out if needed as required.

Stay DRY
One of the core principles of Object Oriented Programming is the idea of staying DRY (Do Not Repeat Yourself). That is, instead of building multiple specific business objects that have very similar functionality or properties, we break down an object into multiple generic objects so we can reuse and extend them when needed within the system. This allows us to stay DRY.

Agile

Our team takes an Agile approach of application development where our focus is on these core areas:

  • A priority to satisfy the client with early and frequent deliverables.
  • A focus on working applications as a measure of progress.
  • A focus on giving a team of motivated individuals the tools and support they need to get the job done and trust them to do it.
  • A commitment to meet at regular intervals to discuss how the team is doing on projects, what are the pitfalls and where they can improve.

Our Tools

Our tools of choice include PHP frameworks such as CodeIgniter and KohanaPHP. These tools allow KGBTexas to keep costs down while allowing us to focus on your core business needs and requirements. We are particularly fond of CodeIgniter and KohanaPHP for their ease of use, easy deployment and separation of concerns. They are both MVC based PHP frameworks. MVC is a software design approach where the main concerns of an application are separated into three distinct and loosely coupled areas of focus: Models, Views and Controllers. The models allow database engineers to focus on modeling the business objects and rules for your data. The views allow front-end designers to focus on the look and feel of the application. Programmers can then focus on the Controllers where all of the application logic is handled. The controllers manage the requests from users, retrieve data from the model and pass it back to the views to display back to the user.

Additionally our applications are based on a full LAMP stack (Linux, Apache Web Server, MySQL Database and PHP).

Project and Source Code Management

Part of any successful application development is project and source code management. For these purposes we use various tools such as Unfuddle, Assembla and BaseCamp. Our source code versioning is handled by Subversion or GIT.

SoMuch.com
Popular Internet Links directory focused on humor, entertainment, news, Medical, Real Estate, Travel,Fitness, Music and Graphics.