eTrack is an application that manages tasks. This project is meant to be a comprehensive tutorial that demonstrates the use of several Eclipse technologies, and current best practices for architecture, design, development, testing, build, and deployment. I would like the architecture to be as open as possible to accommodate different implementations of the various components of the application. There will, however, be a couple of things set in stone. The application will be based on OSGi, have a RESTful client / server architecture, and will use HTTP to communicate between client and server.
To get started, the initial implementation will use EMF for the domain model, MongoDB for the backing store, Restlet for the RESTful web services, Jetty for the web container, and simple HTML web pages for the client. It would also be nice, at some point, to have a GWT client, a SproutCore client, and Mylyn integration.
The project is hosted at EclipseLabs and the place to start is:
I would like to use Gerrit for source control, and Tycho and Jenkins for build, but I’m currently not aware of any free hosting for these services. If I can’t find free hosting, I might consider hosting on my home server and mirroring the source on GitHub for public access. Issue tracking will initially be done on the EclipseLabs Issues page until we can “eat our own cooking”.
Here is a first attempt at a domain model (I’ve taken a little liberty with the UML notation in that solid diamonds denote containment within the same resource while open diamonds denote cross-document containment):
I hope to start working on the implementation at EclipseCon. If you are interested in participating, please comment below describing what you would like to work on, or find me at EclipseCon and I’ll be happy to discuss this with you.