Skip to content

Tahagokce/trendyol-shopping-cart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Shopping-cart case-study

Shopping-cart is a microservice project that I developed as a solution for the Trendyol case study. While developing the project, design patterns such as clean code, SOLID principles, DDD, TDD, and design patterns (Factory, Command, Strategy) were applied for testability and sustainability, and the current technologies were used.

Requirements

Running the application locally

mvn spring-boot:run

You can find the necessary Dockerfile in the docker folder to use Postgres and Redis via Docker. You can also access the DDL file required to create the database from there.

Getting started

  • First of all, you need to make Redis and Postgresql working. Then, you need to add the Postgresql connection information to the relevant fields in the command-runner-service.yml and shopping-cart.yml files under config-server. See

  • Since it is a microservice project, Spring Cloud Config was used to manage the config files of the services more easily. Microservices need config files to run, so you need to run config-server first. See

  • Service Discovery was used to enable microservices to communicate with each other more effectively, so Eureka Server, where microservices will register, is our second service that needs to be run. See

  • Our last step is to run shopping-cart-service and command-runner-service.

Note: Files are read from a folder path and run at regular intervals to produce results, so do not forget to configure this in the command-runner-service.yml file.

Tech Stack

Spring: Spring framework, Spring Cloud, Spring Data

Unit Test: JUnit 5, Mockito, EasyRandom

Cache: Redis OM

Database: Postgresql

Documentation

Postman

Authors

Your feedback is very important to me, thank you for reviewing.

Nice have a work day.

About

The case I prepared for Trendyol

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages