Home
  Overview
  Demo
  SourceForge Page
  Forums
   Download
   Resources
  Getting Started
  Documentation




Project hosting provided by:

SourceForge.net Logo


Background

CH3ETAH started out as a simple GUI for automating code generation, especially template based generation. It was born out of frustration of trying to use some of the one-size-fits-all solutions for object/relational mapping and then from the frustration of trying to use batch and scripting files to control custom generation.

What I wanted was the best of both worlds: the power and flexibility of custom, metadata-based code generation; and the simplicity and productivity gains of pre-packaged, GUI-based application generators. What I wanted was a system that would let me write templates in whatever language I wanted, for whatever metadata I wanted, and package them in a way that would make them easier to use the next time around.

How does it work?

CH3ETAH allows you to write templates for code generation and package those templates together with their metadata requirements. You can then reuse one of these packaged templates by simply providing the required parameters and metadata.

That part probably sounds similar to alot of other code generation solutions that allow you to generate based on metadata. But most of those solutions either just do one-off generation, or require you to control active generation with batch files. That's where CH3ETAH steps in. CH3ETAH lets you organize all of those templates and metadata into a code generation project.

Possibly the easiest examples of such a package is for object/relational mapping. Interacting with data stored in relational databases can easily account for 50% or more of the code in many projects. This code is also horrendously repetitive and error-prone. By automating this and other parts of our projects, we've seen significant productivity gains, as well as higher consistency and quality (i.e. less errors).

Click here to watch the demo Following is an animated demo of CH3ETAH in action. This demo is of version 0.1.20050610 and a lot has changed since then. Hopefully we'll have an updated demo soon.

To see the demo click here.

You can also check out the "Getting Started" tutorial here.