The Address Book System is a Java-based console application developed as an academic project for the Programming Language 1 course at University College of Applied Sciences (UCAS).
The system provides full CRUD functionality for managing contacts, with strong input validation and additional bonus features to enhance usability and robustness.
- Course: Programming Language 1
- University: University College of Applied Sciences (UCAS)
- Faculty: Engineering and Smart Systems
- Department: Computer Engineering
- Major: Cybersecurity Engineering
- Semester: First Semester 2025/2026
- Submission Deadline: 26 February 2026
- Discussion Date: 5 March 2026
# Clone the repository
git clone https://github.com/yourusername/address-book-system.git
# Compile and run
cd address-book-system
javac src/AddressBookSystem.java
java src.AddressBookSystem- Add new contact (name, type, phone number)
- Search contact by name (partial matching)
- Search contact by phone number (exact match)
- Delete contact by name
- Delete contact by phone number
- Display all stored contacts
- Exit the system safely
- Allowed contact types:
- Family
- Personal
- Work
- Other
- Reserved emergency numbers are not allowed:
- 911
- 112
- 999
- 100
- 101
- Duplicate phone numbers are prevented
- User-friendly error handling and input validation
- Support for multiple phone numbers per contact
- Similar name search using flexible string matching
-
Bayan Saleh Ibrahim Abu Shawish
University ID: 220259028
Role: Student / Main Developer -
Sarah Abu Mandeel
Role: Technical Mentor & Code Reviewer
Academic Advisor:
- Dr. Sana’a Wafa Tawfiq Al-Sayegh
Department of Cybersecurity Engineering – UCAS
- Programming Language: Java (JDK 8+)
- Application Type: Console-based
- Data Structure: ArrayList
- Search Method: Linear search with string matching
- Validation: Manual input validation
- Design Approach: Modular and readable code structure
The system was tested for:
- All menu options (1–7)
- Valid and invalid user inputs
- Duplicate entries
- Reserved numbers
- Edge cases and error recovery
- Bonus feature functionality
- File naming format:
StudentName_UniversityID.java - Group and student details are stored in
docs/group.txt - Code originality is strictly respected
- Bonus features contribute to higher evaluation marks
This project is licensed under the MIT License.
See the LICENSE file for more details.
Developed for UCAS – Programming Language 1
"Good code is clean, functional, and well-documented."
