A desktop-based ProAddressBook built with JavaFX, powered by a MySQL database, and styled with modern CSS.
This project simplifies professional contact management with a clean, responsive UI, real-time data persistence, and export-ready CSV reports.
📹 CLICK HERE FOR DEMO VIDEOS (25MB ZIP)
demo-videos.zip
304MB HD → 22MB compressed • Full CRUD + Search demos
✅ Interactive UI built with JavaFX and custom CSS themes
✅ Persistent data storage with MySQL database
✅ CRUD operations for contact management (Add, Edit, Delete)
✅ Live search and filtering by name, email, or department
✅ CSV Export: Export your contacts to CSV format
✅ Asynchronous data loading with progress indicators
✅ Responsive, modern flat-design interface
git clone https://github.com/Prakash-Oli/ProAddressBook.git
cd ProAddressBook- Create a new MySQL database named
AddressBook. - Create the
Addressestable using the following schema:
CREATE TABLE Addresses (
AddressID INT NOT NULL AUTO_INCREMENT,
FirstName VARCHAR(30) NOT NULL,
LastName VARCHAR(30) NOT NULL,
Email VARCHAR(50) NOT NULL,
PhoneNumber VARCHAR(15) NOT NULL,
Address VARCHAR(100) NOT NULL,
Department VARCHAR(30) NOT NULL,
PRIMARY KEY (AddressID)
);This application supports secure credential management. You can provide the database password in three ways:
- Environment Variable (Recommended): Set the
DB_PASSWORDenvironment variable. - System Property: Pass
-Ddb.password=your_passwordwhen running. - Interactive Prompt: If neither is provided, the app will securely prompt you for the password at startup.
Note
The database connection is configured in PersonQueries.java. By default, it uses root as the username and connects to localhost:3306/AddressBook.
Use your IDE (IntelliJ, VS Code, or Eclipse) or run via terminal:
mvn javafx:runor
java --module-path "path/to/javafx-sdk/lib" --add-modules javafx.controls,javafx.fxml -jar ProAddressBook.jar- Frontend: JavaFX
- Backend: MySQL
- Styling: CSS3
- Build Tool: Maven / Gradle
- Language: Java 17+
- ✨ Interactive Java GUI App
- 📈 Live charts and statistics
- 🗄️ Data persistence via MySQL
- 📄 Export-ready reports
Designed for efficient contact and address management.
This project is licensed under the MIT License.