Work Details

Contact Management App

This project is a contact management application that allows creating, editing, deleting, displaying, searching, sorting, and grouping contacts.

Skills required:

This project involved creating a contact management application using the WPF (Windows Presentation Foundation) technology. It comprised several layers, including the data model (Model), data access (Data Access Layer), business logic (Business Logic Layer), and the user interface (View-Layer).

The application allowed users to create, edit, and delete contacts, as well as perform advanced operations such as searching for contacts based on specific criteria, sorting, and multicriteria grouping of contacts. Optional features such as login authentication, adding additional tables (e.g., addresses, messages, favorites, activities), and role management (user, manager, administrator) could be implemented.

The project was structured into multiple layers to ensure a clear separation of concerns and optimal maintainability, thus enabling the creation of a robust and scalable application for efficient contact management.

I was tasked with designing the database structure, defining the necessary tables and relationships to efficiently store contact information.

I set up the Model-View-Controller (MVC) architecture to organize our project in a clear and modular way. This ensured a clean separation between backend logic and the user interface.

I developed classes and methods to establish a connection to the database, execute SQL queries, and retrieve results. This ensured smooth interaction with the database.

I implemented features to add new contacts, edit them, and delete them from the database. This included data validation to ensure the integrity of stored information.

I developed a "Contact" class that served as a model to store information related to each contact. This class was used to create contact instances with properties such as name, phone number, address, etc. It facilitated data manipulation within the application and contributed to better information organization.

I developed advanced search functionalities that allowed users to find contacts based on criteria such as name or phone number. This improved the efficiency of contact management.