A desktop application developed with Java Swing for managing contacts and storing them in a Microsoft Access database.
This project provides a simple graphical interface for performing the main contact management operations.
- Display all saved contacts
- Add a new contact
- Update existing contact information
- Delete a contact
- Search for contacts
- Store data in a Microsoft Access database
- Organize contacts by category
- Manage multiple phone numbers and email addresses
- Java
- Java Swing
- JDBC
- Microsoft Access
- UCanAccess
- Eclipse IDE
java-contact-manager/
├── src/
│ └── gestioncontacts/
│ ├── Contact.java
│ ├── ContactDAO.java
│ ├── ContactForm.java
│ ├── Main.java
│ └── MainFrame.java
├── lib/
│ ├── commons-lang3-3.8.1.jar
│ ├── commons-logging-1.2.jar
│ ├── hsqldb-2.5.0.jar
│ ├── jackcess-3.0.1.jar
│ └── ucanaccess-5.0.1.jar
├── screenshots/
│ ├── main-window.png
│ ├── add-contact.png
│ └── edit-contact.png
├── contacts.accdb
├── .classpath
├── .project
├── .gitignore
└── README.md
- JDK 21
- Eclipse IDE or another Java IDE
- The required UCanAccess libraries are available in the
libdirectory
- Download or clone the repository.
- Open Eclipse.
- Select
File → Import. - Select
General → Existing Projects into Workspace. - Choose the project directory.
- Make sure the libraries from the
libdirectory are included in the project build path. - Clean the project using
Project → Clean. - Open
src/gestioncontacts/Main.java. - Run it as a Java application.
The application uses the following Microsoft Access database file:
contacts.accdb
The database file must remain in the root directory of the project so that the application can access it correctly.
The repository contains demonstration data only.
- Convert the project to Maven
- Replace Microsoft Access with PostgreSQL or MySQL
- Improve input validation
- Add a modern user interface
- Add contact export and import
- Add unit tests
- Implement password-protected access
Ayoub Bernannou
Master's degree in Software Engineering and Intelligent Systems
Full-Stack Java and Angular Developer


