Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Lazy-GT/MOABANG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ ๋ชจ์•„๋ฐฉ

logo

๋ฐฉํƒˆ์ถœ ์ •๋ณด ์‚ฌ์ดํŠธ.

๐ŸŒˆํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์ „๊ตญ์— ์žˆ๋Š” ๋ฐฉํƒˆ์ถœ ์ •๋ณด๋ฅผ ์ฐพ๊ณ ๊ณ„์‹ ๊ฐ€์š”?

๋ฐฉํƒˆ์ถœ ์นดํŽ˜ ์ •๋ณด, ํ…Œ๋งˆ, ํ™œ๋™์„ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์–ป๊ณ ์‹ถ์œผ์‹ ๊ฐ€์š”?

๋ฐฉํƒˆ์ถœ์„ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด Web,App ์–ด๋А ํ™˜๊ฒฝ์—์„œ๋„ ํŽธํ•˜๊ฒŒ ์ •๋ณด๋ฅผ ๋ณผ์ˆ˜์žˆ๋Š” ๋ชจ์•„๋ฐฉ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค!

๐Ÿ’ซTech Stacks & IDE

  • SpringReactMariaDBJavaJavaScriptAndroid

  • IntelliJ IDEAVisual Studio CodeAndroid Studio

๐Ÿ“…ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

  • 2022.04.11 ~ 2022.05.20

๐ŸŒŸ๊ธฐํš ๋ฐฐ๊ฒฝ

  • ์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์„ ํ†ตํ•ด์„œ ์ž์‹ ์ด ์›ํ•˜๋Š” ๋ฐฉํƒˆ์ถœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ผ์ผ์ด ๋ชจ์•˜์–ด์•ผ ํ–ˆ๋‹ค.
  • ๋ฐฉํƒˆ์ถœ์— ๋Œ€ํ•œ ๊ณต์‹ ์ •๋ณด ์™ธ์— ํ™œ๋™์„ฑ, ์ถ”์ฒœ ์ธ์› ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๊นŒ์ง€ ์•Œ๊ธฐ๋ฅผ ์›ํ–ˆ๋‹ค.
  • ์ƒ์†Œํ•œ ๋ฐฉํƒˆ์ถœ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ์˜๊ฒฌ์— ๋Œ€ํ•œ ์ •๋ณด๋„ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋งŽ๋‹ค.

๐ŸŒŸ๊ธฐํš ์˜๋„

  • ๊ฐ๊ฐ์˜ ์นดํŽ˜๋งˆ๋‹ค ๊ฐ€์ง€๊ณ ์žˆ๋Š” ํ…Œ๋งˆ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ชจ์•„๋†“์•„์„œ ํ•œ๋ˆˆ์— ์›ํ•˜๋Š” ๋ฐฉํƒˆ์ถœ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค!

  • ํ…Œ๋งˆ์— ๋Œ€ํ•œ ์œ ์ € ํ‰์ , ํ™œ๋™์„ฑ, ์ถ”์ฒœ ์ธ์› ๋“ฑ ์‚ฌ์šฉ์ž๋“ค์˜ ์ฃผ๊ด€์ ์ธ ํ‰๊ฐ€๋„ ๋ณผ ์ˆ˜ ์žˆ์–ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉํƒˆ์ถœ์„ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋‹ค!

  • ๊ฐœ๋ฐœ์ž๋„, ์‚ฌ์šฉ์ž๋„ ๋ชจ๋‘ ํŽธ๋ฆฌํ•œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜์ž!

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

๐Ÿ’ก์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿคธโ€โ™€๏ธ์นดํŽ˜ ์ •๋ณด.

  • ์ฃผ๋ณ€์— ์žˆ๋Š” ๋ฐฉํƒˆ์ถœ ์นดํŽ˜ ์ •๋ณด(์œ„์น˜ ๋ฐ ๊ฑฐ๋ฆฌ, ์นดํŽ˜ ์ด๋ฆ„ ๋“ฑ)๋ฅผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค

    App

    Web

  • ๊ตฌ๊ธ€ ๋งต(Android), ์นด์นด์˜ค ๋งต(Web) ๋“ฑ Maps์˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ํ•ด๋‹น ํ…Œ๋งˆ์˜ ์œ„์น˜ ์ •๋ณด ๋ฐ ์นดํŽ˜ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค!

    App

    Web

  • ์นดํŽ˜์— ์†ํ•ด์žˆ๋Š” ํ…Œ๋งˆ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

    App

    Web

๐Ÿ†ํ…Œ๋งˆ ์ •๋ณด.

  • ํ…Œ๋งˆ๋ณ„๋กœ ์ •๋ ฌํ•œ ํ•ญ๋ชฉ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!

    App

    Web

  • ํ…Œ๋งˆ๋ณ„ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ด์„œ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ํ…Œ๋งˆ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

    App

    Web

  • ํ•ด๋‹น ํ…Œ๋งˆ ํด๋ฆญ์‹œ ํ…Œ๋งˆ์˜ ์ƒ์„ธ ๋‚ด์šฉ ๋ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!

    App

    Web

    • ํ•ด๋‹น ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ ์ง์ ‘ ์˜ˆ์•ฝ์„ ํ•˜๊ฑฐ๋‚˜ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”! (Web์˜ ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์‚ฌ์ดํŠธ๋กœ ์ƒˆ ํƒญ์„ ๋„์›€.)

๐Ÿ“ƒ๋ฆฌ๋ทฐ ์ •๋ณด

  • ํ•ด๋‹น ํ…Œ๋งˆ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ์˜ ํ†ต๊ณ„ ์ •๋ณด ๋ฐ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ฃผ๊ด€์ ์ธ ์˜๊ฒฌ์„ ์ง๊ด€์ ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!

    App

    Web(๋ฆฌ๋ทฐ ์“ฐ๊ธฐ, ๋ฆฌ๋ทฐ ๋ณด๊ธฐ)

  • ์ด์šฉํ•œ ํ…Œ๋งˆ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์žˆ์–ด์š”

๐Ÿ“ƒํ…Œ๋งˆ ๋น„๊ต

  • ๊ฐ ํ…Œ๋งˆ์—์„œ ๋น„๊ตํ•˜๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋น„๊ต ๋ฆฌ์ŠคํŠธ๋กœ ํ•ด๋‹น ํ…Œ๋งˆ๊ฐ€ ๋“ค์–ด๊ฐ€์š”!

    App

    Web

    • ๋น„๊ตํ•˜๊ธฐ์— ๋„ฃ์€ ๋ฆฌ์ŠคํŠธ์— ์ตœ๋Œ€3๊ฐœ๊นŒ์ง€ ํ•ญ๋ชฉ์„ ๋น„๊ตํ•˜์—ฌ ์ตœ์ ์˜ ์„ ํƒ์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”!

      App

      Web

๐Ÿ†์ปค๋ฎค๋‹ˆํ‹ฐ.

  • ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ†ตํ•ด์„œ ํ•ด๋‹น ์‚ฌ์ดํŠธ์˜ ๊ณต์ง€, ๊ตฌ์ธ, ์ž์œ  ๊ฒŒ์‹œํŒ ๋“ฑ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”!

    App

    Web

  • ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”!

    App

    Web

  • ๊ฒŒ์‹œ๊ธ€ ๋Œ“๊ธ€์„ ํ†ตํ•ด ๋‹ค๋ฅธ ์œ ์ €์™€ ์†Œํ†ต ํ•  ์ˆ˜์žˆ์–ด์š”!

    App

    Web

๐Ÿ†๋งˆ์ด ํŽ˜์ด์ง€

  • ํ•ด๋‹น ์œ ์ €์˜ ์ด์šฉ ํ…Œ๋งˆ, ํ…Œ๋งˆ ๋น„๊ต, ์ฐœํ•œ ํ…Œ๋งˆ, ์ž‘์„ฑํ•œ ๊ธ€ ๋“ฑ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!

    ๋งˆ์ด ํŽ˜์ด์ง€ ์ž‘์„ฑ๊ธ€ ๊ด€๋ฆฌ

    App

    Web

    ํ…Œ๋งˆ ๋น„๊ต

    App

    Web

    ์ฐœํ•œ ํ…Œ๋งˆ

    App

    Web

    ์ด์šฉํ•œ ํ…Œ๋งˆ

    App

    Web

๐ŸŒˆ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

Backend Version
IntelliJ IDEA
Java 1.8
MySQL 8.0
2.4.2
2.5.4
Swagger 2.9.2
JWT 0.9.1
Frontend Version
Visual Studio Code
React
React Router
Redux
Android Version
Android Studio BumbleBee 2021.1.1 Patch2
KakaoSDK KakaoSDK 2.9.0
Google Maps Google Maps 18.0.2
Retrofit Retrofit 2.9.0
Room Room 2.4.2
Viewmodel Viewmodel 2.4.1
CI/CD
AWS
Nginx
Jenkins

๐ŸŒˆ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

Moabang_Architecture

๐ŸŒˆCI/CD

๋ชจ์•„๋ฐฉ์€ Jenkins๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ๋ฐฐํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Gitlab Webhook์„ ์„ค์ •ํ•˜์—ฌ Jenkins์˜ Gitlab trigger๋ฅผ ์„ค์ •ํ•˜์˜€๊ณ , Gitlab์˜ Master branch์— Push๊ฐ€ ๋˜๋ฉด Frontend, Backend๊ฐ€ ์ž๋™์œผ๋กœ Build๊ฐ€ ๋˜๊ณ  ์‹คํ–‰์ด ๋˜์–ด ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌ์ถ•ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, Frontend์—์„œ ์‚ฌ์šฉํ•œ React.js๋Š” Nginx๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌํ•˜๊ณ , Backend๋Š” Buildํ•˜์—ฌ ๋‚˜์˜จ jar ํŒŒ์ผ์„ nohup ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•˜๊ณ  ๋ฐฐํฌ๋˜๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐ŸŒˆ๊ธฐ์ˆ  ํŠน์ด์ 

๋ฐฐํฌ

  • Jenkins, Nginx๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒˆํ˜‘์—… ํˆด

GitLabJiraNotionDiscord

๐Ÿ’ Git

โ˜ ๏ธGit ์ปจ๋ฒค์…˜

ํ˜„์žฌ ๋ธŒ๋žœ์น˜ ์ƒํ™ฉ

Master - Develop โ”€ AOS
								 โ”” BE 
								 โ”” FE	
								 โ”” data	

๋ธŒ๋žœ์น˜ ์ด๋ฆ„

feature/AOS/blahblah
feature/BE/blahblah
feature/FE/blahblah
feature/data/blahblah

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๊ตฌ์กฐ

  • IDE์—์„œ ์ž‘์„ฑ ์‹œ
[#Jira์ด์Šˆ๋ฒˆํ˜ธ] feat : :sparkles: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

- ๋กœ๊ทธ์ธ ui ๊ฐœ๋ฐœ
- ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
################
# <ํƒ€์ž…> : <์ œ๋ชฉ> ์˜ ํ˜•์‹์œผ๋กœ ์ œ๋ชฉ์„ ์•„๋ž˜ ๊ณต๋ฐฑ์ค„์— ์ž‘์„ฑ
# ์ œ๋ชฉ์€ 50์ž ์ด๋‚ด / ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด "๋ฌด์—‡"์ธ์ง€ ๋ช…ํ™•ํžˆ ์ž‘์„ฑ / ๋์— ๋งˆ์นจํ‘œ ๊ธˆ์ง€
# ์˜ˆ) [#Jira์ด์Šˆ๋ฒˆํ˜ธ]feat : :sparkles: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

# ๋ฐ”๋กœ ์•„๋ž˜ ๊ณต๋ฐฑ์€ ์ง€์šฐ์ง€ ๋งˆ์„ธ์š” (์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์˜ ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•จ)

################
# ๋ณธ๋ฌธ(๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ)์„ ์•„๋žซ์ค„์— ์ž‘์„ฑ
# ์—ฌ๋Ÿฌ ์ค„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•  ๋• "-"๋กœ ๊ตฌ๋ถ„ (ํ•œ ์ค„์€ 72์ž ์ด๋‚ด)

################
# feat : :sparkles: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
# fix : :bug: ๋ฒ„๊ทธ ์ˆ˜์ •
# docs : :memo: ๋ฌธ์„œ ์ˆ˜์ •
# test : :white_check_mark: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€
# refact : :zap: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
# style : :art: ์ฝ”๋“œ ์˜๋ฏธ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์‚ฌํ•ญ
# chore : :apple: ๋นŒ๋“œ ๋ถ€๋ถ„ ํ˜น์€ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •์‚ฌํ•ญ
# error : :rotating_light: ์—๋Ÿฌ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ. merge request ํ•˜๋ฉด ์•ˆ ๋จ
################

โ˜ ๏ธGit Flow ๋ธŒ๋žœ์น˜ ์ „๋žต

git flow

  • master[๋ฐฐํฌ] ๐Ÿ‘‰ develop[๊ฐœ๋ฐœ] ๐Ÿ‘‰ feature [๊ธฐ๋Šฅ]

๐Ÿ’โ€โ™€๏ธJira

  • ์• ์ž์ผ(Agile) ๋ฐฉ์‹

  • ์Šคํ”„๋ฆฐํŠธ(Sprint) : ๊ฐ ์ฃผ์˜ ์›”์š”์ผ ์˜ค์ „ ํšŒ์˜๋ฅผ ํ†ตํ•ด์„œ ์ด๋ฒˆ ์ฃผ์— ์ง„ํ–‰ํ•  ์ด์Šˆ ๋ฐ ํŠน์ด์‚ฌํ•ญ ๋“ค์„ ์Šคํ”„๋ฆฐํŠธ์— ์ผ์ฃผ์ผ ๋‹จ์œ„๋กœ ์ƒ์„ฑํ•˜์—ฌ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  • ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ(Daily Scrum) : ์–ด์ œ ์ง„ํ–‰ํ–ˆ๋˜ ์‚ฌํ•ญ ๋ฐ ์ด์Šˆ์™€ ์˜ค๋Š˜ ์ง„ํ–‰ํ•  ์‚ฌํ•ญ๋“ค์— ๋Œ€ํ•ด์„œ 5~10๋ถ„ ๊ฐ„ ์งง์€ ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  • 1๏ธโƒฃ Epic : ํฐ ๋‹จ์œ„์˜ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค

  • 2๏ธโƒฃ Story : ํ•ด๋‹น Epic์˜ ์„ธ๋ถ€์ ์ธ ๊ธฐ๋Šฅ๋“ค๋กœ ๊ตฌ์„ฑ

  • 3๏ธโƒฃ Label : FrontEnd, BackEnd ์˜ ์ž‘์—…์„ ๋ช…์‹œํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

๐Ÿ“’Notion

  • ๋งค์ผ ํšŒ์˜๋ก์„ ์ž‘์„ฑํ•˜๊ณ , ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๋ฆฌ ๋ฐ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘‚Discord

  • Webex๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์˜จ๋ผ์ธ ์ž‘์—…์‹ค๋กœ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒ€Mattermost

  • Git๊ณผ Jira๋ฅผ ์—ฐ๋™ํ•ด์„œ ์ด์Šˆ ๋ฐœ์ƒ ์‹œ Mattermost ๋ฅผ ํ†ตํ•ด ์•Œ๋ฆผ

๐ŸŒWebex

  • ๋ชจ๋‹ ์Šคํฌ๋Ÿผ ๋ฐ ํšŒ์˜ ๋ถ€๋ถ„์—์„œ ์˜จ๋ผ์ธ ์ž‘์—…์‹ค๋กœ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒˆERD

ERD

๐ŸŒˆEC2 ํฌํŠธ ์ •๋ฆฌ

Server Port
REST API (Spring Boot) 8080
Jenkins 9000
MySQL 3306
Server Default (https) 80

๐Ÿ‘ฌํŒ€์› ์†Œ๊ฐœ

์œค์Šน์ผ ๐Ÿ‘‘ํŒ€์žฅ

  • Android

๊น€ํ˜„์ˆ˜

  • Android

์ด์Šน๊ด€

  • SpringMySQL

์ž„๊ธฐํƒœ

  • React

์ •๊ฒฝํ›ˆ

  • SpringMySQLAWS

์ตœ์„ฑ์„

  • React

๐Ÿ“ŒSite

๋ชจ์•„๋ฐฉ ์‚ฌ์ดํŠธ ๋ฐ ์•ฑ ๋‹ค์šด

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published