https://github.com/dinesh776/contactmanager
Contact Manager is a web application that streamlines contact management by offering secure, role-based authentication and an intuitive dashboard. Built with Java 21, Spring Boot, and Thymeleaf, it allows users to efficiently add, view, edit, and favorite contacts.
https://github.com/dinesh776/contactmanager
contact contact-management contacts-app css html java javascript mysql spring springboot springdata-jpa springsecurity thymeleaf
Last synced: 2 months ago
JSON representation
Contact Manager is a web application that streamlines contact management by offering secure, role-based authentication and an intuitive dashboard. Built with Java 21, Spring Boot, and Thymeleaf, it allows users to efficiently add, view, edit, and favorite contacts.
- Host: GitHub
- URL: https://github.com/dinesh776/contactmanager
- Owner: dinesh776
- Created: 2025-03-21T05:06:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-21T05:25:47.000Z (over 1 year ago)
- Last Synced: 2025-03-21T06:26:43.094Z (over 1 year ago)
- Topics: contact, contact-management, contacts-app, css, html, java, javascript, mysql, spring, springboot, springdata-jpa, springsecurity, thymeleaf
- Language: Java
- Homepage:
- Size: 3.42 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🚀 Contact Manager
A dynamic and intuitive contact management application built with **Java 21**, **JDK 17**, and **Spring Boot**. This project simplifies contact organization with a seamless UI, role-based authentication, and a powerful backend.
---
## 🌟 Key Highlights
- **Beautiful Landing Page:** Home, Registration, Login, and About sections.
- **Secure Authentication & Authorization:** Role-based access for users.
- **User Dashboard:**
- 📇 Add and manage contacts effortlessly.
- 🖼 Profile customization.
- 📜 Infinite scrolling for all contacts.
- ⭐ Favorite contacts for quick access.
- 🔓 Easy logout feature.
---
## 🛠 Tech Stack
| **Category** | **Technologies Used** |
|---------------|----------------------|
| 🎨 **Frontend** | HTML, CSS, JavaScript, Thymeleaf |
| ⚙️ **Backend** | Java 21, Spring Boot, Spring Data JPA, Spring Security, Hibernate Validator |
| 🗄 **Database** | MySQL |
> **Note:** Update your `application.properties` file with MySQL credentials before running the application.
---
## 🚀 Getting Started
### 🔧 Prerequisites
Ensure you have the following installed:
- **Java 21**
- **JDK 17**
- **MySQL Server**
### 🏗 Installation & Setup
1️⃣ **Clone the Repository:**
```bash[]
git clone https://github.com/dinesh776/ContactManager.git
cd ContactManager
```
2️⃣ **Configure the Database:**
Edit `src/main/resources/application.properties`:
```properties[]
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password
```
3️⃣ **Build the Application:**
```bash[]
./mvnw clean package # For Mac/Linux
mvnw.cmd clean package # For Windows
```
4️⃣ **Run the Application:**
```bash[]
./mvnw spring-boot:run
```
5️⃣ **Access the Application:**
Open `http://localhost:8080` in your browser.
---
## 📂 Project Structure
```[]
ContactManager/
├── .mvn/ # Maven Wrapper files
├── src/
│ ├── main/
│ │ ├── java/ # Backend logic (Spring Boot, Controllers, Services)
│ │ ├── resources/ # Static assets and configuration
│ │ │ ├── templates/ # Thymeleaf HTML templates
│ │ │ └── static/ # CSS & JavaScript files
│ └── test/ # Unit tests
├── pom.xml # Project dependencies (Maven)
├── .gitignore # Files to be ignored by Git
└── README.md # Project documentation
```
---
## 🤝 Contributing
Want to improve this project? Follow these steps:
1️⃣ **Fork the repository** 📌
2️⃣ **Create a feature branch:**
```bash[]
git checkout -b feature/YourFeature
```
3️⃣ **Commit your changes:**
```bash[]
git commit -m "🚀 Add some feature"
```
4️⃣ **Push to your branch:**
```bash[]
git push origin feature/YourFeature
```
5️⃣ **Create a pull request** 🔥
---
## 📜 License
This project is licensed under the **MIT License**. Check the [LICENSE](LICENSE) file for details.
---