Skip to content

RustamPoonia/Smart-contact-manager

Repository files navigation

📒 Smart Contact Manager

A Spring Boot application built using the MVC design pattern that allows users to manage their personal contacts with a modern UI and secure authentication.


🚀 Features

  • 🔐 Authentication & Security

    • User registration and login with OAuth2 Security
    • Password hashing for enhanced security
    • Email verification using Java Mail Sender
  • 👤 User Management

    • Register new users
    • Secure login/logout flow
    • Email-based account activation
  • 📞 Contact Management

    • Create, Read, Update, and Delete (CRUD) contacts
    • Search and filter contacts easily
    • Each user can manage their own contact list
  • 🎨 Frontend & UI

    • Built with Thymeleaf templates
    • Styled using Tailwind CSS
    • Responsive and modern interface

🏗️ Tech Stack

  • Backend: Spring Boot (MVC Pattern), Spring Security, Spring Data JPA
  • Database: MySQL
  • Frontend: Thymeleaf, Tailwind CSS
  • Security: OAuth2, Password Hashing (BCrypt)
  • Email Service: Java Mail Sender

⚙️ Installation & Setup

  1. Clone the repository

    git clone https://github.com/your-username/smart-contact-manager.git
    cd smart-contact-manager
  2. Configure Database

    • Create a MySQL database:

      CREATE DATABASE smart_contact_manager;
    • Update your application.properties or application.yml with your database credentials:

      spring.datasource.url=jdbc:mysql://localhost:3306/smart_contact_manager
      spring.datasource.username=your_username
      spring.datasource.password=your_password
      spring.jpa.hibernate.ddl-auto=update
  3. Configure Email (Java Mail Sender) Add your SMTP credentials in application.properties:

    spring.mail.host=smtp.gmail.com
    spring.mail.port=587
    spring.mail.username=your_email@gmail.com
    spring.mail.password=your_app_password
    spring.mail.properties.mail.smtp.auth=true
    spring.mail.properties.mail.smtp.starttls.enable=true
  4. Run the application

    mvn spring-boot:run

    The application will start on http://localhost:8080.


📸 Screenshots

Add your project screenshots here.

Login Page Dashboard Contact List
Login Dashboard Contacts

🤝 Contribution

Contributions are welcome! Feel free to fork the repository and submit pull requests.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published