Here you can find some projects and modules I have developed for sharing with whoever is interested. They range from trivial to fairly complex modules. The aim is not to provide ready-made applications but rather, modules that can be used to plug into one's own application. They can form the basis of an application or can be added to an existing one to provide some additional functionality.

Each project contains class diagrams, commented source code in C# - other languages are coming soon - Unit Tests, scripts for creating databases when required and documentation.

The first few projects for example are pretty simple and can be used as a guideline by those starting their journey into programming.

The projects are not available for download from the website yet. Contact me here if you're interested.

Project Group: Contacts

Here are 4 related projects where each one increases in complexity and functionality from the previous. Each one deals with handling a database of persons and their contact details.

  • Person & Contacts

    This simple project uses Classes, Interfaces and Factories. It stores basic Name, Surname, Date of Birth and Contact Details of a list of persons. The factories allow for the creationg, editing and deletion of persons and their contact details. The contact details can be for e-mail addresses, telephone numbers and more. Each contact item can also be associated to home or work. This project does not store anything to database. It just exposes the classes required for handling the information.

    Statistics:
    Lines of Code: 477 + Lines of Comments: 106; Total: 583.
    Lines of Test Code: 483.

    Links:

  • Person & Contacts with DB

    Pretty much the same project as the previous one, but it adds the functionality to save the information to a database. The project comes complete with scripts to create a MySql database - more databases to come - to store the information. The Data layer is left somewhat generic, so that it is easy to convert from MySql to another database.

  • Person & Contacts with DB & Ordering

    Similar to the previous project, the only added functionality is the ability to order the contact information and whenever new contact details are entered, they are not merely appended to the list but inserted in place. The tricky part is in maintaining the database ordered as well without deleting any rows just to re-order items and without creating gaps in the sequence when deleting contact information.

  • Person & Extended Contacts with DB

    The last and most complex of this group of projects adds more information to the Address contact details. Where in the previous projects, the address was represented by a string, in this project the address is an Object with properties for the house name, street name, post code, etc. It can still be ordered and saved to the database as in the previous project.