Giter Club home page Giter Club logo

avocado_market's Introduction

๐Ÿฅ‘ ์•„๋ณด์นด๋„ ๋งˆ์ผ“ - cicd

์•„๋ณด์นด๋„ ๋ผ์ด๋ธŒ ๊ฒฝ๋งค ํ”„๋กœ์ ํŠธ

๊ฐœ๋ฐœ๊ธฐ๊ฐ„: 2023.07.10 ~ 2022.08.18

ํŒ€ ๋ช… : A4์šฉ์ง€

ํ”„๋กœ์ ํŠธ ๋ช… : AVOCADO

ํŒ€์› : ํ™ฉ์‹œ์€, ์ •์—ฐ์ˆ˜, ์˜ค์Šน๊ธฐ, ์ด์›ํฌ, ์ •์žฌํ˜„, ๊ถŒ๋ฏผ์žฌ

๋ฐฐํฌ ๋งํฌ : [์•„๋ณด์นด๋„ ๊ฒฝ๋งค](https://i9a407.p.ssafy.io)

์•„๋ฌด๊ฑฐ๋‚˜

๋ณด์—ฌ์ฃผ๊ณ 

์นด๋ฉ”๋ผ๋กœ ํŒ๋งคํ•˜๋Š”

๋„๋–ผ๊ธฐ๊ฒฝ๋งค

โค ์„œ๋น„์Šค ์†Œ๊ฐœ

`๊ฒฝ๋งค` ๊ฑฐ๋ž˜๋ฐฉ์‹์„ ๋ฉ”์ธ์œผ๋กœ ์žก์€ ์„œ๋น„์Šค๋กœ, ์ด์šฉ์ž์˜ ๋ฌผ๊ฑด์„ ๋“ฑ๋กํ•˜๊ณ  `๋ผ์ด๋ธŒ๊ฒฝ๋งค`์™€ `์ƒ์‹œ๊ฒฝ๋งค`๋ฅผ ํ†ตํ•ด ์ด์šฉ์ž๋Š” ๋‹ค์–‘ํ•œ ์ƒํ’ˆ์„ ์ ์ ˆํ•œ ๊ฐ€๊ฒฉ์œผ๋กœ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงก ํŒ€์› ์†Œ๊ฐœ

ํ™ฉ์‹œ์€ ์ •์—ฐ์ˆ˜ ์˜ค์Šน๊ธฐ ์ด์›ํฌ ์ •์žฌํ˜„ ๊ถŒ๋ฏผ์žฌ

ํ™•์‹คํžˆ ์ดํ•ดํ•˜๋ฉด์„œ

์ง„ํ–‰ํ•˜์ž!

๋ชจ๋ฅด๋Š” ๊ฑด ์ตํžˆ๊ณ ,

ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ์ตœ์„ !

๋งˆ์ธ๋“œ๋„ ์‹ค๋ ฅ๋„

์„ฑ์žฅ!

ํ•ญ์ƒ ๊ธ์ •์ ์œผ๋กœ

์ตœ์„ ์„ ๋‹คํ•˜์ž!

๋ฏธ๋ฆฌ ํ•˜๊ธฐ! โ€œ๊ทธ๋ƒฅโ€ ์ด๋ผ ํ•˜์ง€ ์•Š๊ธฐ

๐Ÿ’› ๊ธฐ์ˆ  ์Šคํƒ

Backend

Database

Frontend

CI/CD & infra

๐Ÿ’š ์ฝ”๋“œ ์ปจ๋ฒค์…˜ & Git flow

1. ์ฝ”๋“œ ์ปจ๋ฒค์…˜

๋ฉ”์†Œ๋“œ๋ช…

  • ์˜ˆ์™ธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋์— OrElseThrow ๋ถ™์ž„ ex) ์‚ฌ์šฉ์ž ๋ช…์„ ์ฐพ๋Š”๋ฐ ์—†์œผ๋ฉด ์˜ˆ์™ธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ findMemberOrElseThrow ๋ผ๊ณ  ๋ถ™์ž„
  • cancle๊ฐ™์ด ์˜ˆ์™ธ ๋ฐ˜ํ™˜์ด ๋ช…ํ™•ํ•œ ๊ฒฝ์šฐ์—” ์ƒ๋žตํ•ด๋„ ๊ดœ์ถ˜

๋ณ€์ˆ˜๋ช…

  • final or static ์ด ๋ถ™๋Š” ๋ณ€์ˆ˜๋ช…์€ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ, ๊ณต๋ฐฑ์ด ํ•„์š”ํ•˜๋ฉด _ ์‚ฌ์šฉ
  • ๊ทธ ์™ธ์—” Camel Case ์‚ฌ์šฉ

ENUM

  • ๋ชจ๋“  ํ•ญ๋ชฉ์€ ๋Œ€๋ฌธ์ž๋กœ ๊ตฌ์„ฑ
  • ๊ฐ ์›์†Œ ์‹๋ณ„์ž๋Š” ์ •์ˆ˜๊ฐ€ ์•„๋‹Œ **๋ฌธ์ž์—ด**๋กœ ํ•œ๋‹ค.

ํŒจํ‚ค์ง€ ๊ตฌ์„ฑ

  • domain๊ณผ repository๋Š” ๊ฐ™์€ ํŒจํ‚ค์ง€์— ๋„ฃ์ž

2. ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ

1. ๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ

Git-Flow ๋ธŒ๋žœ์น˜ ์ „๋žต์— ๋”ฐ๋ผ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„์–ด ์ž‘์—…ํ•˜๊ณ  ์žˆ๊ณ  ๋ชจ๋“  ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด pull request๋ฅผ ํ†ตํ•œ ๋ฆฌ๋ทฐ ์™„๋ฃŒ ํ›„ Merge๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1

โœ… master : ์ œํ’ˆ์œผ๋กœ ์ถœ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋žœ์น˜

โœ… develop : ๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜. feature์—์„œ ๋ฆฌ๋ทฐ์™„๋ฃŒํ•œ ๋ธŒ๋žœ์น˜๋ฅผ Merge

โœ… feature : ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜

โœ… hotfix : ์ถœ์‹œ ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜

์ฐธ๊ณ  ๋ฌธํ—Œ

2. ์ปค๋ฐ‹ ๊ด€๋ฆฌ

Karma - Git Commit Msg

  • ๊ธฐ๋Šฅ ํ•˜๋‚˜๋‹น ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜์— ์ž‘์—…
  • ์ฆ‰, ํ•œ ์‚ฌ๋žŒ๋‹น ํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉ
  • ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ค‘๊ฐ„ ๋ธŒ๋žœ์น˜๋ฅผ ๋‘๊ณ  ๊ทธ๊ณณ์— ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ์€ ์ผ€๋ฐฅ ์ผ€์ด์Šค ์‚ฌ์šฉ ex) ๋ฐฉ์†ก์˜ ์ฑ„ํŒ… ํ”ผ์ณ๋ฅผ ๋งก์€ ๊ฒฝ์šฐ feature-live-chatting - develop์˜ ๊ฒฝ์šฐ ๋ฐฑ, ํ”„๋ก ํŠธ ๊ตฌ๋ถ„์„ ์œ„ํ•ด backend/develop, frontend/develop ์‹์œผ๋กœ ๊ตฌํ˜„
  • ๊ฐ FEATURE๋“ค์€ ์ค‘๊ฐ„ ๋ธŒ๋žœ์น˜ ๋˜๋Š” DEVELOP ๋ธŒ๋žœ์น˜์— ์Šค์ฟผ์‹œ ๋จธ์ง€ ํ›„ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ

MERGE

  • ๋จธ์ง€ conflict ๋ฐœ์ƒ์‹œ, ๋ณ‘ํ•ฉ ์ง€์ • ์ถฉ๋Œ ๋‚  ๋•Œ ์ค‘๊ฐ„ ๋ธŒ๋žœ์น˜ ๋˜๋Š” DEVELOP์—๋‹ค ํ•˜๋ฉด ์ปค๋ฐ‹ ๋กœ๊ทธ๊ฐ€ ์ง€์ €๋ถ„ํ•ด์ง
  • ์Šค์ฟผ์‹œ ๋จธ์ง€ ํ›„ ๋ธŒ๋žœ์น˜ ์‚ญ์ œ
  • ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ์€ ์ผ€๋ฐฅ ์ผ€์ด์Šค ์‚ฌ์šฉ

HOTFIX

  • ๊ธ‰ํ•˜๊ฒŒ ์ˆ˜์ •ํ•  ์ผ์ด ์žˆ์„ ๋•Œ ์‚ฌ์šฉ
  • ์Šค์ฟผ์‹œ ๋จธ์ง€ ํ›„ ๋ธŒ๋žœ์น˜ ์‚ญ์ œ
  • ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ์€ ์ผ€๋ฐฅ ์ผ€์ด์Šค ์‚ฌ์šฉ

3. ์ปค๋ฐ‹ ๊ด€๋ฆฌ

EX) ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„์‹œ Feat: ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„ ํ•„์š”์‹œ 1~2์ค„ ์ •๋„์˜ ์ถ”๊ฐ€ ๋ฉ”์‹œ์ง€ ๋‹ฌ ์ˆ˜ ์žˆ๋‹ค.

Feat

  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋  ๋•Œ

Docs

  • readme, swagger, ์ฃผ์„๊ฐ™์ด ๋ฌธ์„œํ™”์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ž‘์—…

Style

  • ํฌ๋งทํŒ…, ์ฝ”๋“œ ์ปจ๋ฒค์…˜๊ฐ™์ด ๋กœ์ง์ด ๋ฐ”๋€Œ์ง€ ์•Š์€ ์ˆ˜์ • ์ž‘์—…

Refact

  • ์ฝ”๋“œ ๋กœ์ง ์žฌ๊ตฌ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ž‘์—…

Chore

  • ์‚ฌ์†Œํ•œ ์ปค๋ฐ‹ ex) Chore: ์ ์‹ฌ ๋จน๊ธฐ ์ „ ์ปค๋ฐ‹

Test

  • test ์ฝ”๋“œ ์ž‘์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ž‘์—…

๐Ÿ’™ ๊ธฐ์ˆ  issue ํ•ด๊ฒฐ ๊ณผ์ •

  • ๋ฌธ์„œํ™”๋ฅผ ํ†ตํ•œ ํ˜‘์—…
  • PR ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” conflict ํ•ด๊ฒฐ ๋ฐ ํ˜‘์—… ๋Šฅ๋ ฅ ํ–ฅ์ƒ
  • Spring Boot๋ฅผ ํ™œ์šฉํ•ด ์ฃผ์–ด์ง„ ์š”๊ตฌ์— ๋งž์ถฐ REST API ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„
  • ์ฃผ์–ด์ง„ ์š”๊ตฌ์— ๋งž์ถฐ ERD ์„ค๊ณ„

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

2

๐ŸคŽ ์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ

๐Ÿ–ค DB ERD

์•„๋ณด์นด๋„_ERD

๐Ÿค Front

์™€์ด์–ดํ”„๋ ˆ์ž„

๋ชฉ์—…

avocado_market's People

Contributors

bbaeggom-sk avatar cvivis avatar brorica avatar leewon2 avatar justyarnsir17 avatar juan-jung avatar

Watchers

 avatar

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.