Bu oluşturduğum e-ticaret projesinde ilk olarak auth-microservice içinde kullanıcı kayıt olma ve giriş yapma işlemleri eklenmiştir. Kayıt olan kullanıcıyı RabbitMq kullanarak customer-microservice tarafına müşteri olarak kayıt edilmektedir. Daha sonra kullanıcıya sepet tanımlamak için customer-microservice'den müşteri bilgilerini yine RabbitMq kullanarak cart-microservice tarafına yönlendiriyoruz, bu şekilde kullanıcının adına bir sepet tanımlanmış oluyor. Product-microservice içinde de ürün ekleme-güncelleme-silme-listeleme işlemleri, sepet güncelleme-listeleme-boşaltma işlemleri ve sepete ürün ekleme-çıkarma işlemleri eklenmiştir.
- JDK(19)
- PostgreSQL
- IDE (IntelliJ IDEA)
- Java
- Spring Boot(3.2.2)
- PostgresSQL
- Spring Boot Data JPA
- Lombok
- Mapstruct
- Validation
- Spring Boot Starter Test
- MicroService
- Docker
- Message Broker: RabbitMQ
docker run -d --hostname my-rabbit --name some-rabbit -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=user -m=128m rabbitmq:3-management
-SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true RabbitMQ kullanımında deserilize işlemi sırasında hata almamak için deserilize edecek microservice'in Environment Variable(Ortam Değişkenleri) kısmına eklenmelidir. (auth-microservice, customer-microservice, product-microservice application sınıflarına ortam değişkenleri olarak eklenmelidir.)
SecretKey ve Issuer bilgilerimizi gizlemek için Environment Variable(Ortam Değişkenleri) kullandım.(HRMS_SECRETKEY = Enoca) ve (HRMS_ISSUER = Tolga) Auth-microservice'nin application sınıfına ortam değişkeni olarak eklenmelidir.
- EnocaAuthDB
- EnocaCustomerDB
- EnocaProductDB