| Home | Articles | Projects | University | Gallery | Guestbook | About |
jPersonnel is a simple program for managing contact and personal information about employees in a company. Moreover, it may be used for a more generalized purpose, including basic PIM functionalities. jPersonnel stands for Java Personnel, and it is developed in Java (using AWT and Swing user interface components). jPersonnel may be suitable for managing information about employees in companies, which is a typical human resources management task.
jPersonnel is totally free (under the terms of the GPLv2) and it is one of the projects I have developed for my studies in Software Engineering.
As mentioned above, the main motivation for writing this project was that it was a mandatory final assignment for my studies. Moreover, I wanted to start playing around with Java and do my first object-oriented program.
From the usability point of view, this program might be not very necessary, but it is a good example of a simple graphical interface developed in Java, which perfectly works in every platform thanks to the portable virtual machine which runs across platforms.
jPersonnel was designed to be simple and provide a very well definted functionality. The program offers three different views to the end-user:
jPersonnel has been written in Java, and it is compilable with, at least, Java Compiler version 1.5. Initially, it was written using some innovations present in version 6, but finally, for usability reasons, it was downgraded to 1.5. Note that the functionality was not affected, but the number of lines increased slightly.
The internal design is based on a layered model, where each class lays on the top of another class, using lower-level functionalities. The layers are, in order:
Basically, the class Manager is the one which is in charge of the most important lower-level competencies, whereas the class GUI is the one in charge of interfacing the user and issuing the class Manager for internal management. The class jPersonnel is the uppermost layer, which basically contains the main function and initializes the user interface. The class Person provides the description of a person object and the very basics for manipulating contact information at a very low level.
According to this representation, a jPersonnel class must initialize a GUI, which must initialize a Manager class for creating an addressbook structure in memory. When a new person has to be added or modified, then Manager takes benefit from the functionality provided by the lower-level class Person.
Finally, it is to be remarkable that the class Manager is the one in charge of permanently storing the addressbook into the harddisk, as well as it is in charge of restoring such structure from the harddisk into memory. This is achieved by the already existing serialization feature of Java.
jPersonnel, as a Java application, is runnable itself and it does not need any type of installation in order to work. In order to run jPersonnel, the user must go into the directory containing the jPersonnel.java and simply issue the command:
For GNU/Linux users, jPersonnel is also distributed in Debian Package format, which will install the contents of the directory into standardized paths in the operating system. Furthermore, the Debian package will create a runnable item named jpersonnel that will be included in the PATH.
jPersonnel does not provide any way of configuration and it is directly runnable. No options nor user preferences are provided for now.
jPersonnel provides personal information management and it basically offers contact creation, modification and deletion. Moreover, it offers the possibility of storing a list of contacts as a small database with the extension .jpd.
An extended feature, included in version 0.4, is the possibility of alphabetically sorting contacts (only by name), which enriches the experience of using contacts management programs.
Contacts search is achieved from the menu Edit and Find... In this case, you will be prompted for entering any keyword or number and press Go. jPersonnel will look in the whole contact list and select the first occurrence which satisfies the search criteria. Moreover, in order to find more occurrences, the menu Edit >> Find next will have to be used. Note that the search is quite simple and based on first names and family names only.
Here I write down a list of common problems and the solutions:
For more information please check out the jPersonnel README file, which includes some design and implementation details. Alternatively, you may want to take a look at the jPersonnel User Manual (PDF document).
This is free software. You may redistribute copies of it under the terms of the GNU General Public License http://www.gnu.org/licenses/gpl.html.
The author of this software is Claudio M. Camacho, and his name has to be included in any reproduction of any kind of this software. Furthermore, commercial reproductions of this software cannot be used to generate incomes.
There is NO WARRANTY, to the extent permitted by law. For more information, please read LICENSE.