Address Book – Objective C++

A console desktop application in C++ implemented in the full object-oriented programming (OOP) paradigm for secure and structured contact data management.

The main challenge was to strictly adhere to SOLID principles and avoid anti-patterns (such as Spaghetti Code or God Object). The application was designed modularly, separating the presentation layer (console interface) from the data processing logic and input/output (I/O) operations. A key element was ensuring consistent recipient IDs when deleting and editing records in relation to flat files (txt) and optimally utilizing containers from the Standard Template Library (STL).

The project aimed to create a scalable system for recording users and their contact addresses. Instead of simple structured code, the entire application was divided into independent, interoperable classes responsible for specific layers of business logic (user management, contact operations, file management).

//User Authorization System

Secure registration of new accounts and a login module with password validation.

// Complete CRUD module for contacts

Adding: Quickly enter new recipients with automatic assignment of a unique ID. Search: Advanced filtering of contacts by first or last name. Editing: Ability to modify any contact field (phone number, email address, address, etc.). Deleting: Securely delete entries from the database.

// Full Data Isolation (Multi-User)

After logging in, each user has access only to their own private recipient database.

Data Persistence Layer
Console interface (CLI)

Automatically saves and reads data from text files each time the program is launched and closed, or after an operation.

Clear, text-based user menu with input error handling (resistant to entering invalid characters).

More Info

Looking for a professional who understands technology? Let's talk about how I can help your team deliver better products in an agile environment.

You have been successfully Subscribed! Ops! Something went wrong, please try again.

Quick Links

Services

About Me

Projects

Contact

Address

+48 660544777

Phone Number

wiktor.gindorowicz@gmail.com

Email Address

© 2026 dev @mr_cyclist