This project aims to develop a contact management application using Spring Boot and Spring Security. The application allows users to efficiently manage their contacts with various functionalities.
- User authentication using Spring Security:
- Login: Users can securely log in to the application.
- Registration: New users can create an account to access the contact management features.
- Create a new contact: Users can add new contacts with details such as first name, last name, phone numbers, address, and email.
- Display contacts: Contacts are listed in alphabetical order for easy navigation and reference.
- Delete a contact: Users can remove unwanted contacts from the list.
- Modify a contact: Contacts can be updated and edited as needed.
- Search contacts by name: Users can search for specific contacts by their names.
- Search contacts by phone number: Users can find contacts by providing either personal or professional phone numbers.
- Automatic grouping by last name: Contacts with the same last name can be automatically grouped.
- Phonetic search: Improved search functionality using phonetic matching, considering similar sounding names.
- Create a new group: Users can create new groups with custom names.
- Add contacts to groups: Contacts can be added to one or multiple groups.
- Remove contacts from groups: Contacts can be removed from specific groups while retaining their information.
- Delete a group: Users can delete a group, which removes the group but keeps the associated contacts intact.
- Search groups: Users can search for groups by their names.
The project is developed using the following technologies:
- Spring Boot: A framework for creating Java-based applications.
- Spring Security: Provides security features for authentication and authorization.
- JSP (JavaServer Pages): A technology for creating dynamic web content using Java.
- Bootstrap: A front-end framework for responsive and visually appealing web design.
- Chentoui Abdelali - CS Student - AbdelaliChe