Christian Classics Ethereal Library

Desktop Development


Development Principles

Language Choice

We've chosen to go with Java to implement our application because it gives us the greatest opportunity for cross-platform development. Also, there are many open source projects written in Java that have made writing this application much easier.

Development Environment

One of the conditions of this project is that we want a robust system that can be easily modified. Towards this end, we're unit testing our code using JUnit.

The combination of programming in Java and unit testing with JUnit has led us to use Eclipse to develop our code.

Open Source Projects

This application would not be possible without these other open-source projects:

  • Tomcat acts as our embedded server to deliver up content in the user's browser.
  • log4j for logging error messages.
  • JUnit for basic unit testing.
  • Abbot for GUI unit testing.
  • jMock for mock-object unit testing
  • Eclipse for our IDE.

We have instructions for configuring classpath variables in Eclipse for the support libraries.

Interested in Joining our Development?

We're looking for people with these characteristics:

  • Do you have an interest in this project? Otherwise, why would you work on it?
  • Do you have a working knowledge of Java? Nearly all coding it in Java; there's some JSP and some shell scripting (mostly for creating the install images). A willingness and ability to learn Java is acceptable.
  • Are you willing to unit test? We want a quality product, and we feel unit testing will deliver this.
  • Can you at least tolerate Eclipse? The projects in our CVS repository is maintained (essentially) by Eclipse; we've never tried any other .

    If you're interested in joining our development, contact one of the administrators of this project (available from the SourceForge page).


SourceForge.net Logo

This project is graciously hosted by SourceForge.

Support This Project

All of the proceeds collected for this project are given to the CCEL to pay for the servers and to fund student help during the summer.