A simple and interactive Contact Log Manager built using Java!
Manage your contacts, call logs, favorites, and more – all from a console interface.
- ➕ Add new contacts with name, number, and optional relation.
- 🔍 Search contacts by name.
- 📝 Edit contact details (name or phone number).
- ❌ Delete existing contacts.
- 📋 Show all saved contacts.
- 📞 Simulate calling a contact.
- 🕓 View call history.
- ❤️ Mark contacts as favourites and view them.
- 🛠 Blocked contacts & viewing feature (under development).
- 🆘 Help menu to list all commands.
│
├── ContactLog/
│ ├── Driver/ # Main application driver
│ │ └── ContactDriver.java
│ ├── Entity/ # Contact entity definition
│ │ └── Contact.java
│ ├── Repository/ # In-memory database (Contact arrays)
│ │ └── Database.java
│ └── Service/ # Core operations like add, search, delete, call
│ └── Operations.java-
Clone the repository:
git clone https://github.com/your-username/contact-log-java.git
-
Open the project in your Java IDE (like Eclipse or IntelliJ).
-
Run the ContactDriver.java file to launch the application.
Java (JDK 8 or higher)
Console-based interaction (no external libraries)
- Implement contact blocking and showing blocked contacts
- Save contacts and call history persistently (e.g., using file or database)
- Add UI (Swing/JavaFX) for a visual experience
- Add import/export contact features
This project is a great way to practice and learn core Java concepts. By exploring or contributing to this project, you will:
- ✅ Understand object-oriented programming (OOP) in Java through classes, objects, and encapsulation.
- ✅ Learn to manage data using arrays and collections for contact storage.
- ✅ Explore how to create reusable services like add, delete, and search logic.
- ✅ Practice modular programming by separating logic into packages (Entity, Service, Repository, Driver).
- ✅ Improve your skills in input validation and user interaction via console-based programs.
- ✅ Understand data flow and control structures in real-world applications.
- ✅ Get hands-on with basic CRUD operations and call simulations.
This project is ideal for Java beginners who want to build a complete, functional, and organized application.
This project is open-source and free to use for educational purposes.
Devansh devanshdmp15@gmail.com
