Code Monkey home page Code Monkey logo

bbaemin's Introduction

bbaemin



๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ ๋ฐ ์ค‘์ ์‚ฌํ•ญ

  • ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ 'B๋งˆํŠธ' ๊ฐ™์€ E-Commerce Backend API ๊ตฌํ˜„

  • ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ(๋ถ€ํ•˜์˜ ๋ณ€ํ™”)์—๋„ ์žฅ์•  ์—†์ด ์‘๋‹ต ์†๋„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„

    • ์‚ฌ์šฉ ์ค‘์ธ ์ธํ”„๋ผ๊ฐ€ ์˜ˆ์ƒ ๋ถ€ํ•˜๋ฅผ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ์‹ค์‹œํ•œ๋‹ค.
    • ์‘๋‹ต ์‹œ๊ฐ„, ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„, CPU/๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ  ๋“ฑ์„ ์ฒดํฌํ•ด ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ์ง€์ ์„ ํ™•์ธํ•œ๋‹ค.
    • ๊ฐœ์„  ๋ฐฉ์•ˆ์„ ์ฐพ์•„ ๋ณ€๊ฒฝ ์ „/ํ›„๋ฅผ ๋น„๊ตํ•˜๊ณ , ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•œ๋‹ค.
      • Scale Out, Scale Up
        • ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด ๋Œ€์‘ํ•œ๋‹ค.
      • Reactive System/Programming
        • Sync/Async, Blocking/Non-Blocking ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ์‘๋‹ต ์†๋„ ์ €ํ•˜์˜ ์›์ธ์„ ํŒŒ์•…ํ•œ๋‹ค.
        • Webflux, Kafka ๋“ฑ ๋น„๋™๊ธฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์™ธ๋ถ€ API๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
  • CI/CD ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ํ…Œ์ŠคํŠธ/๋ฐฐํฌ ์ž๋™ํ™”

  • ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ•

  • Git Flow๋ฅผ ํ™œ์šฉํ•œ ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ

  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ ๋ฐ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ


๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ ๋ฐ ๊ธฐ์ˆ  ์Šคํƒ

bbaemin (rootProject)

  • Java 11, Spring Boot, Gradle, Kafka, JUnit5, Mysql
  • CI/CD : Github Action, Docker
  • Load Test & Monitoring : k6, Scouter
  • Naver Cloud Platform

1. admin-service

  • ๊ด€๋ฆฌ์ž API
  • ์ƒํ’ˆ, ์ƒ์ , ๋ฐฐ๋‹ฌ, ๊ฒฐ์ œ ๊ด€๋ จ ์„œ๋น„์Šค
  • Spring Servlet Stack
    • Apache Tomcat, Spring MVC, JPA

2. user-service

  • ์‚ฌ์šฉ์ž API
  • ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ์ฃผ๋ฌธ, ๋ฆฌ๋ทฐ ๊ด€๋ จ ์„œ๋น„์Šค
  • ์ƒ๋Œ€์ ์œผ๋กœ admin-service๋ณด๋‹ค ํŠธ๋ž˜ํ”ฝ์ด ๋” ๋†’๊ณ  ๊ทธ ๋ณ€ํ™” ํญ์ด ๋” ํด ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜์–ด Reactive Stack์œผ๋กœ ์ „ํ™˜
  • Spring Reactive Stack
    • Netty, Spring WebFlux, R2DBC

3. common

  • ๊ฐ ๋ชจ๋“ˆ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค ๋ชจ์Œ
  • Response, Dto, Config ํด๋ž˜์Šค ๋“ฑ

๐Ÿ“Œ CI/CD

  • main ๋ธŒ๋žœ์น˜์— Push/Pull-Request๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค Github Action์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹ค์‹œํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ•œ๋‹ค.
  • PR์ด Merge ๋˜๋ฉด Github Action์ด ๊ฐ ์„œ๋น„์Šค๋งˆ๋‹ค ์„ค์ •ํ•ด๋‘” Dockerfile์„ ์ฝ์–ด Docker Image๋ฅผ ๋งŒ๋“ค๊ณ  Docker Hub์— Pushํ•œ๋‹ค.
  • Build๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด (์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด) Docker Hub์— ์˜ฌ๋ ค๋†“์€ ์ด๋ฏธ์ง€๋ฅผ Pull ๋ฐ›์•„ Docker Compose๋กœ ๊ฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋„์›Œ ๋ฐฐํฌ๊นŒ์ง€ ์™„๋ฃŒํ•œ๋‹ค.

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ


๐Ÿ“Œ Wiki

https://github.com/f-lab-edu/bbaemin/wiki

bbaemin's People

Contributors

chanee-personal avatar f-lab-bot avatar f-lab-lyan avatar yeonkyungjoo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

bbaemin's Issues

๋ฆฌ์ŠคํŠธ ๊ฒ€์ƒ‰, ํŽ˜์ด์ง• ๊ธฐ๋Šฅ

          ์ถ”ํ›„์— ๋ฆฌ์ŠคํŠธ ๊ฒ€์ƒ‰ ๊ฐ™์€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ• ์ง€์— ๋Œ€ํ•œ ์˜๋…ผ์ด ํ•„์š”ํ•  ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค!

์ €๋Š” ์šฐ์„  ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

  1. querydsl BooleanExpression์„ ํ™œ์šฉํ•œ ๊ฒ€์ƒ‰??? -> ์ด๋Ÿด ๊ฒฝ์šฐ querydsl ์„ค์ • ํ•„์š”
  2. jpa pageable, containing์„ ํ™œ์šฉํ•œ ๊ฒ€์ƒ‰???

Originally posted by @CHANEE-personal in #26 (comment)

orderAmount(์ฃผ๋ฌธ ๊ธˆ์•ก(์›๊ฐ€)), orderSaleAmount(์ฃผ๋ฌธ ํ• ์ธ ๊ธˆ์•ก) ๊ตฌ๋ถ„

          orderAmount(์ฃผ๋ฌธ ๊ธˆ์•ก(์›๊ฐ€)), orderSaleAmount(์ฃผ๋ฌธ ํ• ์ธ ๊ธˆ์•ก)์œผ๋กœ ๋‚˜๋ˆ ์„œ ํ‘œํ˜„ํ•˜๋Š”๊ฑด ์–ด๋–จ๊นŒ์š”???

order์—๋„ ์–ด๋–ค coupon์„ ์‚ฌ์šฉํ•ด์„œ ๊ฒฐ์ œ๋ฅผ ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Originally posted by @CHANEE-personal in #28 (comment)

url ์ฒดํฌ

@RequestMapping("/api/v1/cart")
@RequestMapping("/api/v1/users/{userId}/cart")
์•„! ์—ฌ๊ธฐ ์žˆ์—ˆ๊ตฐ์š”. ์Œ, ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์ข‹์•„ํ•˜๋Š” ๋ฐฉ์‹์€ ์•„๋‹™๋‹ˆ๋””๋งŒ, @CHANEE-personal ๋‹˜์€ ์–ด๋– ์„ธ์š”?

Originally posted by @f-lab-lyan in #12 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.