Desktop based Smart Contact Manager
This is a Smart Contact Manager created using Java and the Spring Boot framework.
- Create and Manage Contacts
- Search Contacts by Name or Email
- User Authentication and Authorization
- Modern UI with Bootstrap
- REST API for contact management
- Payment integration with Razor Pay
- Rich text editor with Tiny MCE
- Email verification using SMTP and Gmail
Be sure you have the following installed on your development machine:
- Java Development Kit (JDK) >= 8
- MySQL
- Maven
- Git
To setup a local development environment:
Clone the GitHub Project,
git clone git@github.com:StepJes/Smart-Contact-Manager.git
cd Smart-Contact-Manager
Install project dependencies,
mvn install
Configure the database:
- Create a MySQL database named
smart_contact_manager
. - Update the
src/main/resources/application.properties
file with your MySQL credentials.spring.datasource.url=jdbc:mysql://localhost:3306/smart_contact_manager spring.datasource.username=<your_mysql_username> spring.datasource.password=<your_mysql_password> spring.jpa.hibernate.ddl-auto=update
Run the application,
mvn spring-boot:run
The application will be available at http://localhost:8080
.
Update the application.properties
file with your Gmail SMTP settings:
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=<your_email@gmail.com>
spring.mail.password=<your_email_password>
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
Update the application.properties
file with your Razor Pay API keys:
razorpay.key.id=<your_razorpay_key_id>
razorpay.key.secret=<your_razorpay_key_secret>
- Users can add new contacts, edit existing ones, and delete contacts they no longer need.
- Users can search for contacts by name or email, making it easy to find specific contacts quickly.
- Contacts can be grouped into categories for better organization.
- Users can import contacts from CSV files and export their contact list to CSV.
- The application includes user registration, login, and role-based access control.
- The application exposes RESTful endpoints for managing contacts programmatically.
- Users can make payments using Razor Pay integrated into the application.
- Tiny MCE is used for rich text editing in the contact notes.
- The application can send email notifications using SMTP and Gmail.
- Backend: Java, Spring Boot, Hibernate, REST API
- Frontend: Thymeleaf, JavaScript, AJAX, HTML, CSS, Bootstrap
- Database: MySQL
- Payment Integration: Razor Pay
- Rich Text Editor: Tiny MCE
- Email: SMTP, Gmail
- Build Tool: Maven
The Smart Contact Manager is a comprehensive solution for managing contacts with modern features and integrations. By leveraging Java and Spring Boot, it provides a robust backend, while Thymeleaf and Bootstrap ensure a responsive and user-friendly frontend. The addition of REST APIs, payment integration, and email notifications make it a versatile tool for both personal and professional use.