https://github.com/furkankayam/spring-boot-email-verification
✅ This project provides a secure user registration system with email OTP verification, where users confirm their accounts using a time-limited code sent via email.
https://github.com/furkankayam/spring-boot-email-verification
docker docker-compose email-verification gradle java mysql postgresql rabbitmq spring-boot
Last synced: 3 months ago
JSON representation
✅ This project provides a secure user registration system with email OTP verification, where users confirm their accounts using a time-limited code sent via email.
- Host: GitHub
- URL: https://github.com/furkankayam/spring-boot-email-verification
- Owner: furkankayam
- Created: 2025-09-09T20:40:00.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-09-09T23:00:28.000Z (10 months ago)
- Last Synced: 2025-09-10T02:25:45.534Z (10 months ago)
- Topics: docker, docker-compose, email-verification, gradle, java, mysql, postgresql, rabbitmq, spring-boot
- Language: Java
- Homepage:
- Size: 1.53 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# ✉️ Mail Verification
⚡ Architecture Schema
👤 Create Account

✅ Verify Account

📧 Email Notification

❌ Unverified

⚠️ Invalid OTP

🔄 Re-verify

🐳 Docker

📚 Swagger UI

## 📖 About
- ✅ This project demonstrates a secure user registration system with email-based OTP (One-Time Password) verification. Users can create accounts and verify their email addresses through a time-limited verification code sent via email.
## 🛠️ Technologies Used
[](https://www.oracle.com/java/)
[](https://spring.io/projects/spring-boot)
[](https://www.mysql.com/)
[](https://www.postgresql.org/)
[](https://www.adminer.org)
[](https://gradle.org/)
[](https://www.docker.com/)
[](https://www.docker.com/)
### 🚀 Quick Start
#### Prerequisites
- Java 17+
- MySQL 8.0
- PostgreSQL 15.2
- Docker & Docker Compose
#### Database Configuration
- **MySQL**
- **URL:** `http://localhost:9090` (Adminer)
- **Database:** `email_db`
- **Username:** `mysql`
- **Password:** `mysql`
- **PostgreSQL**
- **URL:** `http://localhost:9090` (Adminer)
- **Database:** `email_db`
- **Username:** `postgres`
- **Password:** `postgres`
### Installation
```shell
git clone https://github.com/furkankayam/spring-boot-email-verification.git
cd spring-boot-email-verification
```
### Usage
```shell
docker-compose up
```
```shell
./gradlew build
```
```shell
./gradlew :mail-service:bootRun
./gradlew :account-service:bootRun
```
#### 3. Access endpoints
- Database UI: `http://localhost:9090`
- Mail Service `http://localhost:8082/swagger-ui/index.html`
- Account Service: `http://localhost:8081/swagger-ui/index.html`
# License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details
**Created by** [Mehmet Furkan KAYA](https://www.linkedin.com/in/mehmet-furkan-kaya/)