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.
-
🔐 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
- 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
-
Clone the repository
git clone https://github.com/your-username/smart-contact-manager.git cd smart-contact-manager -
Configure Database
-
Create a MySQL database:
CREATE DATABASE smart_contact_manager;
-
Update your
application.propertiesorapplication.ymlwith 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
-
-
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
-
Run the application
mvn spring-boot:run
The application will start on http://localhost:8080.
Add your project screenshots here.
| Login Page | Dashboard | Contact List |
|---|---|---|
![]() |
![]() |
![]() |
Contributions are welcome! Feel free to fork the repository and submit pull requests.


