Coding-Content - TmpMail

Coding doesn’t only belongs to my day-to-day work but is also one of my favorite hobbies. And like other hobbies it’s fun to make a competition out of it. So last week I participated at the Leipziger coding contest. There where 4 categories: PHP, JavaScript and two times Java. I have chosen the second java category where the task was to develop a “fake email” application.

You can find the code here: https://github.com/lestard/tmpmail

Task: Temporal email addresses

The user of the application should be able to register herself with her private email address. After that the user can create temporal email addresses whose messages are redirected to the private email address of the user.

There are several use cases for this application: First of all you can use this temporal email addresses for registration at online shops, forums and so on where you don’t want to use your private email address to prevent spam emails.

Another use case would be to use this application for testing purposes by software developers. They could check whether there own application is sending emails the correct way.

Implementation

My implementation is based on the JavaEE technology stack. I have used JPA2/Eclipselink as persistence framework with an HSQLDB inmemory database.

Dependency-Injection is done by CDI/Weld. In addition I used the Seam Solder library to handle events of the servlet container.

The handling of SMTP is done with the SubethaSMTP library.

The frontend is based on JSF 2.1 and MyFaces as implementation. Besides this PrettyFaces and PrimeFaces where used.

The whole application was developed test driven. For this purpose FEST-Assert and Mockito where used. Additionally Weld-SE was used for integration tests.


p.s. At the end I won the contest and got a Lenovo Thinkpad Edge as an award :-)