Smart Contact Manager is a full-stack Spring Boot web application that helps users securely store and manage their personal contacts in the cloud. The application provides authentication, contact management, image upload, and email services.
- User Registration & Login
- Secure Authentication using Spring Security
- OAuth2 Login (Google authentication)
- Add, Update, Delete Contacts
- Search Contacts
- Contact Image Upload using Cloudinary
- Email Notification Support
- Form Validation
- Responsive UI using Thymeleaf
- Profile Management
- Java 21
- Spring Boot 3
- Spring Security
- Spring Data JPA
- Hibernate
- Thymeleaf
- HTML
- CSS
- JavaScript
- MySQL
- Cloudinary (Image Storage)
- Spring Mail (Email Service)
- OAuth2 (Google Login)
- Maven
src/main/java/com/scm
│
├── config # Security and application configuration
├── controllers # Handles HTTP requests
├── entities # JPA entity classes
├── forms # Form DTO classes
├── helpers # Utility/helper classes
├── repositories # Spring Data JPA repositories
├── services # Business logic layer
├── validators # Custom validators
└── Application.java # Main Spring Boot application
src/main/resources
│
├── static # CSS, JS, Images
├── templates # Thymeleaf HTML templates
├── application.properties
├── application-dev.properties
└── application-prod.properties
git clone https://github.com/codebyharii/Smart-contact-manager.git
cd Smart-contact-manager
Edit application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/scm
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
cloudinary.cloud-name=your_cloud_name
cloudinary.api-key=your_api_key
cloudinary.api-secret=your_api_secret
mvn spring-b