Skip to content

Prakash-Oli/ProAddressBook

Repository files navigation

JavaFX MySQL CSS3 License Made with Love

🎓 ProAddressBook (JavaFX + MySQL + CSS)

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


✨ Key Features

✅ 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


🚀 Quick Start

1️⃣ Clone the repository

git clone https://github.com/Prakash-Oli/ProAddressBook.git
cd ProAddressBook

2️⃣ Configure MySQL Database

  1. Create a new MySQL database named AddressBook.
  2. Create the Addresses table 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)
);

3️⃣ Configure Credentials

This application supports secure credential management. You can provide the database password in three ways:

  1. Environment Variable (Recommended): Set the DB_PASSWORD environment variable.
  2. System Property: Pass -Ddb.password=your_password when running.
  3. 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.

4️⃣ Run the application

Use your IDE (IntelliJ, VS Code, or Eclipse) or run via terminal:

mvn javafx:run

or

java --module-path "path/to/javafx-sdk/lib" --add-modules javafx.controls,javafx.fxml -jar ProAddressBook.jar

🧩 Tech Stack

  • Frontend: JavaFX
  • Backend: MySQL
  • Styling: CSS3
  • Build Tool: Maven / Gradle
  • Language: Java 17+

📊 Demo Highlights

  • ✨ Interactive Java GUI App
  • 📈 Live charts and statistics
  • 🗄️ Data persistence via MySQL
  • 📄 Export-ready reports

Designed for efficient contact and address management.


📄 License

This project is licensed under the MIT License.

About

JavaFX desktop address book with MySQL, CRUD operations, live search, and CSV export for professional contact management.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors