Open Source Projects

Keyhole Software has a number of open source projects on Github. These projects range from development frameworks and support frameworks, to nifty proof-of-concept applications that can provide insight into certain technologies and functions.

Quick descriptions follow, but for all projects please visit the Keyhole team Github Repository.

Now-playing App

The now-playing app displays movies currently at the theater. It has been built two ways, one in Angular 2, the other in Angular 1. Compare and contrast for learning purposes. View in Angular 2View in Angular 1.

It was built solely as an educational example of using Angular 2 and is not intended to be used beyond the learning experience.

Bootstrap/Backbone Example Application
A basic example of how a Backbone.js project can be configured and how it can utilize the Bootstrap responsive design framework. Repository.

Backbone.js with MockJax
Example showing how Mockjax ‘API mocking framework’ can be configured with a Backbone application. Repository.

Contact Management Application
A basic contact management JavaScript single page application built with the BackboneJS and Marionette. Provides a good reference for project structure, application startup, and how Marionette region management is applied. Repository. Guitar Tuner
Guitar tuner built with the JavaScript library. Famous provides fast DOM rendering and a physics engine (how the strings are made to vibrate). Get More Information. Repository.

ExtJS – MVC Example Using Eclipse
This project describes how ExtJS JavaScript MVC framework can be set up. Also, basic ExtJS examples are provided for a quick way to learn basic concepts. Repository.

Grunt/Bower Demo Application
An example project that uses JavaScript frameworks Grunt and Bower. Good example of required configuration. Repository.

Underscore Templating
Example application that uses _underscore’s templating capabilities. Repository.

JavaScript UI Inspector and Logging Library
This tool implements local and remote logging capabilities in JavaScript SPA applications. Also, provides a visual debugging support to quickly identify and inspect JavaScript files during development by mouse over, as well as provide logging support. Get More Information. Repository.

HTML5 Guitar Tuner
A JavaScript/HTML5-based web application for guitar tuning utilizing HTML5’s < canvas > and < audio > elements. Get More Information. Repository.

HTML5 Manifest Utility
This command line utility scans your HTML5 project resources and generates an HTML5 manifest file for offline support. Repository.

Liferay Spring MVC Portlet
This example project defines a Liferay hello-world portlet using the Spring MVC Portlet framework. Repository.

Report Writing Frameworks
Java – A lightweight and less complex way to create a column-based reports with grouping, totaling, and sub-totaling. Repository.
Spring Batch – framework that makes writing line break PDF reports easy. This framework has been used to successfully generate numerous audit reports for a financial institution. Repository.

Spring Batch Example
Application implements two Spring Batch Jobs that read and write from flat files and an in-memory (HSQL) relational database with an admin console.  Good way to see how Spring Batch jobs are defined. This examples defines readers/writers/and processors along with framework provided readers/writers. Repository.

khsSherpa – Java RESTful API Framework
A JSON endpoint framework for Mobile and HTML5 support. khsSherpa turns a Java application server into remote Java/JSON data server. This lightweight server-side framework allows Java classes contained inside a Java EE application sever to become JSON endpoints that can be consumed via HTTP by native mobile devices or HTML5/JavaScript clients.

Quickly and easily annotate Java POJOs and you have a RESTful API in your servlet container. Can be used with or without the Spring framework. RepositoryGet More Information.

Trouble Maker is a Java Spring Boot application that communicates with a client service that has a small servlet registered with a Java API-based service application. By default, Trouble Maker accesses Eureka to discover services, and based upon a cron task, randomly selects a service to kill (i.e. shut down). View repository.

Spring Boot Trouble Maker Starter
A Spring Boot starter for auto-configuration of the TroubleMaker Client. This auto-configuration can be used to configure clients of the Trouble Maker framework used to randomly produce server trouble issues.

KeyShot – Game Built with Unity Platform (Unity/C#)
A fun-to-play game built using the Unity framework, native to mobile or desktop devices. Repository.

Keyhole Labs

We’re in software consulting because we like creating software. For some time, we have been developing internal software to support our own development. This has led to the creation of numerous software solutions: GrokOla, the tribal knowledge wiki; MockOla, the drag-and-drop wireframing tool; Trouble Maker, the Microservices tool to test software stability; and others.

In November of 2016, we announced the creation of Keyhole Labs, the product and innovation arm of Keyhole Software. Since that time, we have shifted many of our open source and products to that side of the organization.