Freelance software developer              
Freelance software development           
C++, Java (J2EE,J2SE,JSP,Servlets), Perl and PHP
Linux, MacOS, MacOSX, Windows, iOS, Android       

  HOME
 PROJECTS
 IMPRINT
 SKILLS
 PRODUCTS
  DEUTSCH
 
 
 

 

Projects

Most of the following projects where implemented on a contract basis.


ASP Java (J2EE/J2ME/J2SE) Perl PHP Administration



V-CARD

CurriculumVitae / Skills
Stefan Sonntag
Computer Scientist
(Freelance software developer)
Weserstr. 35
10247 Berlin
Germany
E-Mail stefan@stefan-sonntag.com
Description Language
Software development for the Maguro oHG.

Extension of the product NetDoc server. This product allows to document the local network structures and logged in computers based on Active Directory.
The extension was to extend the support for laptops: Every time a laptop starts up it creates a XML file via VBScript that contains the current state of the laptop like insalled software, bios-version, attached hardware, etc.
As soon as the laptop is connected to the local network it delivers the created XML files to a webservice that stores the data in a MS-SQL database.

The webservice was programmed in C# with Microsoft Visual Studio 2003 .Net used as IDE.
ASP/C#
Generating PDF documents from dynamic html pages for the intranet of Heidelberger Druckmaschinen. ASP
Implementation of the search method for a street marking portal. This portal offers registered firms the possibility to find new business partners. ASP
Implementation of the search for the nearest merchant to the visitors home using longitute and latitude information. ASP
Maintenance and further development of a J2EE web application for unitb technology using Seam, JBPM, Hibernate and Oracle. J2EE
Serverside development of the MMORPG "Hellbreed" in Java using J2EE, Hibernate, Spring, JBOSS Seam, Apache Commons.

Responsible for conecption and programming of the game server and backend. Using the backend, the game designers could modify the values of the complex role playing rules for weapons, armors, spells, special abilities and loot. The modified values could be tested immediately in the game.

An item generator was used to calculate the properties of generated items on the fly. Depending on the value and calculatd properties a fitting name was generated using name fragments. The better the item was, the more parts had the generated name.

To make the replay of already discovered locations more interesting the monster values where increased or monsters where replaced by stronger variants of their kind, depending on the level and number of players in the area.
J2EE
Serverside development of the MMORPG "Zaar" in Java using J2EE, Hibernate, Spring, Eclipse RAP, Apache Commons.

Responsible for conecption and programming of the game server and backend. Using the backend, the game designers could change the values of the complex role pla ying rules for weapons, armors, spells and loot. The changed values could be tested immediately in the game.

The backend could also be used to create and modify quests.

Conception and administration of the corresponding server farm.
J2EE
Implementation of an accounting plugin for the SIP IP-PBX-server from brekeke in Java.

The accounting data was stored in a MySQL database and could be browsed with a frontend programmed in PHP.
J2SE/PHP
Development of webservices for ComBOTS AG using Java (J2EE).

One webservice was responsible for handling the installation and automatic update processes of their product called ComBOTS (client). The client consisted of multiple components that could be updated individually, when a new version of the component was released. On startup the client sent its version to the service and the service checked which files of the components where modified and need to be updated. This was implemented using version specific ZIP files that where dynamically created on demand and cached. So when a client connects with a version number and a corresponding ZIP file does not exist in the cache, it is automatically created, otherwise the cached one is being sent to the client. Another webservice created personalized Installer.exe files.

The architecture of the webservices was designed so that modifications of configuration parameters were taken into account immediately without a restart of the service. The params could be modified using JMX or by editing the config files.

Used technologies: Eclipse, Maven 1, Maven 2, Jakarta Commons, JAXB, JMX, Oracle, Servlets, Spring, Subversion, Tomcat, XML, Windows and Suse Linux Enterprise.
J2EE/Servlets
Design and Implementation a Client/Server system to execute electronic payment transactions with different payment methods ( e.g. CreditCards ). Specials:
  • SSL-encrypted communictation between client and server
  • Different payment methods are implemented as plugins
  • Integrating the server in existing payment infrastructure
  • Transactionfiles exported from legacy systems can be convereted customer specific to an internal format to execute the transactions in a batch process. The results can be downloaded by the client
Java/Swing
Design und implementation of the multiuser server SUSHI to easily create multiuser applications using FlashMX, Flash Lite and Java (J2SE/J2ME). Java
Implementation of an ecard system.

A web interface allows an administrator to maintain the ecard motifs and categories.

The ecard can be created using two methods:

1.) The ecard is saved a configurable time on the webserver in the form of a html page and the corresponding link is sent to the receiver

2.) An image is dynamically created using the Java2D-API containing the motif and the text and is attached to the email
JSP
Porting an intranet news system from PHP to JSP for BASF-Pharma PHP/JSP
Implementation of a fault tolerant search to find services offered by TÜV-Hessen.

After selecting the desired service the closest center to the users home is selected through a geographic search that uses longitude and latitude information.

The Employees of TÜV-Hessen can administrate the services by uploading an excel sheet or via a web interface.
JSP/Perl
Porting various credit calculators from C++ to Java Servlets for Hypotheken Discount and the direct bank of Volkswagen.

Dynamically generated view of the actual interests.

Hypotheken Discount replaced the Java Servlets by a Net.Data solution.
Java Servlets
Porting a Delphi application to prove the creditworthiness of an applicant for credit to Java Servlets for Hypotheken Discount.

The calculator has been replaced by a Net.Data solution.
Java Servlets
Improvement of an existing web based system for entering and evaluating working time.

Employees can enter the time they worked on active projects. The projects are assigned to customers.

With an administration module privileged users can evaluate the project-, customer- and employee specific working time and manage the customers, projects, employees and privileges.

The administration module is protected and is only accessible by employees with the corresponding privileges. The privilege system is based on groups and users being assigned to them. Privileges like adding or deleting a customer or evaluation of projects can be granted to groups and revoked from them.

Employees can see their working time as daily, weekly, monthly or yearly views
Java Servlets
Implementation of a fault tolerant search to find services offered by TÜV-Hessen.

After selecting the desired service the closest center to the users home is selected through a geographic search that uses longitude and latitude information.

The Employees of TÜV-Hessen can administrate the services by uploading an excel sheet or via a web interface.
JSP/Perl
Installation of a newsletter system for BIFAB and their publishers Duden, Brockhaus and Meyer with the OpenSource software Sympa.

Enhancing Sympa to gather statistical information about subscriptions and unsubscriptions.

Implementation of a web interface to administrate the subscribers and to view the statistics.
Perl/PHP
Weblinks:

Visitors of the website from Brockhaus can search in a directory of web links with various topics.

The visitors can suggest new links. Brockhaus employees can enable the suggested links with an web interface.

The links can be exported and imported as an Excel sheet.
PHP/Perl
Implementation of a link between the merchandise management of a tyre merchant and the B2B platform "tyre24.de" using C++ (Windows), Boost, POCO, PHP, SOAP, MySQL and Firebird. PHP/C++ (Windows, Boost, POCO)
Sofware development for compNETCAD.

A platform for educational videostreams has been created, so that teachers could upload educational videos and student could view the videos as streams. The uploaded videos where converted into the FLV format using ffmpeg.

Student could browse a video gallery and teachers where able to activate, deactivate and delete videos. The streaming was done by a Flash-SWF that was created on the fly via MING.

The portal was implemented using PHP and MySQL on Redhat Enterprise Linux.
PHP/Ming
Sofware development for compNETCAD.

Implementation of an accounting plugin for the SIP IP-PBX-server from brekeke in Java.

The accounting data was stored in a MySQL database and could be browsed with a frontend programmed in PHP.
J2SE/PHP
Collaboration on a portal system to sell mobile content like logos, ringtones and java games.

With the system partners can provide their own content. Therefore microsites with web components like selection of a mobile phone are provided. My tasks where:

Automatic import of the products of various mobile content providers from their XML feeds and assign them to compatible mobile phones.

Implementation of the payment systems PayPal, T-Online SAM and premium SMS.

Delivery of the content to the mobile phone via services from the companies Net-m and IPX.

Web-Komponente zur Auswahl eines Mobiltelefons und dazu kompatibler Kategorien/Produkte.
PHP
Collaboration on the Big Brother site:

Design and implementation of a SOAP-Interface to the Endemol Entertainmant Club to register, log in and query of users.
Acquisition of user behaviour on the web site and transfer of the data to a CRM-System.

PHP
Collaboration on the MTV-StreetLive site:

Implementation support of the community functionality like registration and login, Upload and commenting pictures.
PHP
Design and Implementation of a SOAP-Interface to send SMS newsletters
PHP
Implementation of a catalog system for BIFAB:

BIFAB articles can be bought at different online bookstores.

The catalog offers thematic and brand specific views of the articles. Selected articles can be placed on the starting pages as teasers.

A web interface allows BIFAB employees to administrate the views as well as the teasers.

To save CPU time the views can be generated as mostly static pages vie the web interface, so that all text and links are static and only the session handling and parameter passing is handled dynamically.
PHP
Porting an intranet news system from PHP to JSP for BASF-Pharma PHP/JSP
Online shop for Rheinhessenwein: The shop has the possibility to order the selected articles or to store a wishlist on the server and to mail it to friend. PHP
Weblinks:

Visitors of the website from Brockhaus can search in a directory of web links with various topics.

The visitors can suggest new links. Brockhaus employees can enable the suggested links with an web interface.

The links can be exported and imported as an Excel sheet.
PHP/Perl
Purchase special Brockhaus documents via Firstgate:

Before purchasing the visitor can search the document pool for keywords.

The table of contents and a summary of the documents found can be viewed. After the purchase the hole document can be downloaded.

The administration of the documents is done with a web interface.
PHP
Wine finder:

The wines of vintagers from the "Pfalz", a german region, can be selected with an unusual and efficient search method.

A list of the selected wines and the offering vintagers can be viewed.

The vintagers can administrate their wines with a web interface.
PHP
Implementation of a flexible content management system, that generates html pages from PHP templates.

The system is used to manage news, a guestbook, restaurants, wine festivities and an online shop for the sites www.rheinhessenwein.de and www.pfalzwein.de
PHP
Development of a web based system for entering and evaluating working time.

Employees can enter the time they worked on active projects. The projects are assigned to customers.

Employees can browse through their booked working time with daily, weekly and monthly views. They can also edit their entries. Every employee can evaluate his working time with a combination of several criterions like customer, project and time intervall for example.
PHP
Implementing parts of the dynamic website for the scientific publisher Wiley-VCH, e.g. the journals section. PHP
Installation of a newsletter system for BIFAB and their publishers Duden, Brockhaus and Meyer with the OpenSource software Sympa.

Enhancing Sympa to gather statistical information about subscriptions and unsubscriptions.

Implementation of a web interface to administrate the subscribers and to view the statistics.
Perl/PHP
Implementation of a generic script to send form variables as an email with optional logging of the variables into a text file.

The Text of the email body is provided by a text template that can reference the form variables.

To prevent spamming through this script, it only allows sending emails to adresses stored in a configuration file and to protect the recipients, their email addresses are not stored in the html pages.
PHP


 

   
StefanSonntag C++, Java, Perl, PHP-native speaker