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.