Community

๐Ÿ“œย ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ์•„์ด๋“ค์„ ํ‚ค์šฐ๋ฉด์„œ ๋งˆ์ฃผ์น  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์ œ์  ๋ฌธ์ œ, ์ •๋ณด์˜ ๋ถˆ๊ท ํ˜•์„ ํ•ด์†Œํ•˜๋ ค๊ณ  ํ•ด์š”. * ์šฐ๋ฆฌ ์•„์ด๋“ค์ด ํ•ฉ๋ฆฌ์ ์ธ ๊ฐ€๊ฒฉ์œผ๋กœ ์ข‹์€ ์ œํ’ˆ์„ ์“ธ ์ˆ˜ ์žˆ๊ณ  * ์šฐ๋ฆฌ ์•„์ด๋“ค์ด ๋˜๋ž˜ ์นœ๊ตฌ๋“ค๊ณผ

๐Ÿ“œย ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ์•„์ด๋“ค์„ ํ‚ค์šฐ๋ฉด์„œ ๋งˆ์ฃผ์น  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์ œ์  ๋ฌธ์ œ, ์ •๋ณด์˜ ๋ถˆ๊ท ํ˜•์„ ํ•ด์†Œํ•˜๋ ค๊ณ  ํ•ด์š”. * ์šฐ๋ฆฌ ์•„์ด๋“ค์ด ํ•ฉ๋ฆฌ์ ์ธ ๊ฐ€๊ฒฉ์œผ๋กœ ์ข‹์€ ์ œํ’ˆ์„ ์“ธ ์ˆ˜ ์žˆ๊ณ  * ์šฐ๋ฆฌ ์•„์ด๋“ค์ด ๋˜๋ž˜ ์นœ๊ตฌ๋“ค๊ณผ ๋” ํ–‰๋ณตํ•˜๊ฒŒ ๋†€ ์ˆ˜ ์žˆ๊ณ  * ๋ถ€๋ชจ๋‹˜๋“ค์ด ์œก์•„ ์ •๋ณด๋ฅผ ์„œ๋กœ ๊ต๋ฅ˜ํ•˜๋ฉฐ, ์นœํ•ด์งˆ ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต ์ตœ์ข…์ ์œผ๋กœ ์œก์•„๋ฅผ ํ•˜๋ฉด์„œ ๊ฒช์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ํ•ด์†Œํ•˜์—ฌ ์–ด๋ ต๊ณ  ํž˜๋“  ์œก์•„๊ฐ€ ์•„๋‹Œ ํ–‰๋ณตํ•œ ์œก์•„ ๋ฌธํ™”๋ฅผ ์œ ๋„ํ•˜๊ณ  ์‹ถ์–ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ์–ด์š”. ๐Ÿƒย ํ˜„์žฌ๊นŒ์ง€์˜ ์ง„ํ–‰๋„ * ๊ธฐํšํ•œ ์„œ๋น„์Šค ์ค‘ 1๋‹จ๊ณ„๋งŒ MVP๋กœ ์ถœ์‹œ ๋ฐ ์šด์˜์ค‘ (๋ˆ„์  ๋‹ค์šด๋กœ๋“œ 3,000๋ช… / MAU 1,300๋ช… / DAU 300~500๋ช…) ๐Ÿƒย ์•ž์œผ๋กœ์˜ ๊ณ„ํš * ์‚ฌ์šฉ์ž์ˆ˜๊ฐ€ ์ ์–ด๋„ ๊ธฐ๋Šฅ์ด ๋˜๋Š” ์„œ๋น„์Šค๋ถ€ํ„ฐ ์ˆœ์ฐจ์  ๊ฐœ๋ฐœ ๋ฐ ๊ณ ๋„ํ™” * ํ˜„์žฌ ์šด์˜ ์ค‘์ธ ์„œ๋น„์Šค ๊ณ ๋„ํ™” * ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•œ ๋‹ค์Œ ๋‹จ๊ณ„ ์„œ๋น„์Šค๋“ค์˜ ๊ฐœ๋ฐœ ๐Ÿ‘ฅย ํšŒ์˜ ๋ฐ ์ง„ํ–‰ * ์ฃผ 1ํšŒ ์˜จ๋ผ์ธ ํšŒ์˜ (Slack) * ์ฃผ 1ํšŒ ์˜คํ”„๋ผ์ธ ํšŒ์˜ (ํ˜„์žฌ ๊ตฐ์ž์—ญ) ๐Ÿ› ย ํ˜‘์—…ํˆด * Figma * Slack * Jira ๐Ÿช™ย ์ˆ˜์ต๋ถ„๋ฐฐ ๋ฐ ์ฐธ์—ฌ๋น„์šฉ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ๋ฐœ์ƒํ•˜๋Š” ์„œ๋ฒ„๋น„์šฉ, ๊ฐœ๋ฐœ์ž ๊ณ„์ •, ์˜คํ”„๋ผ์ธ ํšŒ์˜, ๊ธฐํƒ€ ์šด์˜๋น„์šฉ์€ ํ˜„์žฌ ๋ฐœ์ƒํ•˜๋Š” ์ˆ˜์ต์œผ๋กœ ๋ถ€๋‹ดํ•˜๋ฉฐ, ๋ณ„๋„์˜ ์ฐธ์—ฌ ๋น„์šฉ์€ ์—†์Šต๋‹ˆ๋‹ค. ์ €ํฌ ํ”„๋กœ์ ํŠธ๋Š” ์ˆ˜์ต์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์šด์˜์— ํ•„์š”ํ•œ ๋น„์šฉ์„ ์ดˆ๊ณผํ•˜๋Š” ์ˆ˜์ต์ด ๋ฐœ์ƒ ์‹œ ๋งˆ์ผ€ํŒ… ๋น„์šฉ ๋“ฑ์— ์žฌํˆฌ์ž ํ•  ์˜ˆ์ •์ด๋ฉฐ ์‚ฌ์—…ํ™”์— ๋”ฐ๋ผ ์ง€๋ถ„ ๊ณต์œ  ๋ฐ ๊ธ‰์—ฌ ์ง€๊ธ‰์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ๐Ÿ™‹โ€โ™‚ย ํŒ€์› ์†Œ๊ฐœ * ๊ธฐํš ๋ฐ ์šด์˜ 1๋ช… * ๋””์ž์ด๋„ˆ 1๋ช… * ํ”Œ๋Ÿฌํ„ฐ ๊ฐœ๋ฐœ์ž 1๋ช… * ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž 1๋ช… ๐Ÿ“Œย ์ด๋Ÿฐ ํŒ€์›์„ ๊ตฌํ•˜๊ณ  ์žˆ์–ด์š” * ํ˜‘์—…์˜ ์ค‘์š”์„ฑ์„ ์•Œ๊ณ  ์‹œ๊ฐ„ ์•ฝ์†์„ ์ž˜ ์ง€ํ‚ค์‹œ๋Š” ๋ถ„ * ์ทจ์—… ์—ฌ๋ถ€๋ฅผ ๋– ๋‚˜ ํ”„๋กœ์ ํŠธ์— ์žฅ๊ธฐ์ ์œผ๋กœ ๊ณ„์† ์ฐธ์—ฌํ•˜์‹ค ๋ถ„ * ์ ๊ทน์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋ฉฐ ํ•จ๊ป˜ ์„ฑ์žฅํ•˜์‹ค ์ˆ˜ ์žˆ์œผ์‹  ๋ถ„์ด๋ฉด ํ™˜์˜์ž…๋‹ˆ๋‹ค! ์ €ํฌ ๊ฐœ๋ฐœํŒ€์€ * ์ง์žฅ์ธ1 ์กธ์—…์˜ˆ์ •์ž1๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด์š” * ๊ฐœ๋ฐœ ํ›„ QA ์ง„ํ–‰์„ ํ†ตํ•ด ๋Šฅ๋™์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•ด์š” * ํ˜ธ๊ธฐ์‹ฌ์ด ๋งŽ์•„์„œ ์—ฌ๋Ÿฌ ๋ฐฉ์•ˆ๋“ค์„ ์ฐพ์•„๋ณด๊ณ  ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์šฐ์„ ์‹œํ•˜๋ฉฐ ๊ฐœ๋ฐœ์ด ๋๋‚˜๋ฉด ๊ธฐ๋Šฅ ํ™•์žฅ์— ์œ ๋ฆฌํ•˜๋„๋ก ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์š” * ์œก์•„์— ๊ด€์‹ฌ์ด ๋งŽ์•„์š” ์ด๋Ÿฐ ๊ฐœ๋ฐœ์ž๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”! * ๋‚ด๋ ค์˜จ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•ด์š”. * ํŽธํ•˜๊ฒŒ ์ €ํฌ ๋น„์ฆˆ๋‹ˆ์Šค์— ๊ด€๋ จ๋œ ๊ฐœ์„ ์•ˆ์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„์ด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”. * ์ธ์›์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์˜์—ญ์—๋„ ๊ด€์‹ฌ์ด ๋งŽ์œผ์‹  ๋ถ„์ด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”. (ํƒ€ ๊ฐœ๋ฐœ์˜์—ญ, ๊ธฐํš ๋“ฑ) Flutter * ๋‹ค๋ฅธ ํ”Œ๋žซํผ์ด๋”๋ผ๋„ jetpack compose, SwiftUI ๋“ฑ ์„ ์–ธํ˜• UIํ”„๋ ˆ์ž„์›Œํฌ ์œ ๊ฒฝํ—˜์ž * MVVM ๊ตฌ์กฐ์— ์ต์ˆ™ํ•˜์‹  ๋ถ„ * jetpack compose+hilt, swiftui + factory / swinject / needle ์ฒ˜๋Ÿผ DI๋ฅผ ์ ํ•ฉํ•˜๊ฒŒ ํ™œ์šฉํ•ด๋ณด์‹  ๋ถ„ ์šฐ๋Œ€์‚ฌํ•ญ * ํ”Œ๋Ÿฌํ„ฐ ์‹ค๋ฌด ๊ฒฝํ—˜์ž * ์ผ๋ฐ˜ httpํ†ต์‹  โ†’ retrofit ์ธํ„ฐํŽ˜์ด์Šค ๋ฆฌํŒฉํ† ๋ง ์œ ๊ฒฝํ—˜์ž * ๊ธฐ์กด์— Provider ์ƒํƒœ๊ด€๋ฆฌ ๊ธฐ๋ฐ˜์œผ๋กœ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“  MVP๋ฅผ Go Router์™€ RiverPod๊ธฐ๋ฐ˜์œผ๋กœ ๋ฆฌํŒฉํ† ๋ง ํ•˜์‹  ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„ * injectable, get_it์„ ํ†ตํ•ด DI๋ฅผ ์ ์šฉํ•ด๋ณด์‹  ๋ถ„ * ValueNotifier๋“ฑ์„ ํ™œ์šฉํ•ด ์›น์†Œ์ผ“ ํ†ต์‹  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด์‹  ๋ถ„ ๋ฐฑ์—”๋“œ * Kotlin 2, Spring boot 3, JPA+QueryDsl ์œ ๊ฒฝํ—˜์ž * ๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด ์•„๋‹ˆ๋”๋ผ๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ์ด ์—†๋Š” ๋„๋ฉ”์ธ ์˜์—ญ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ์ด ์žˆ๋Š” ์ธํ”„๋ผ ์š”์†Œ๋ฅผ ํŒจํ‚ค์ง€๋กœ ๊ตฌ๋ถ„ํ•ด ์ž‘์„ฑํ•ด๋ณด์‹  ๋ถ„ * ๋ฌด๋ถ„๋ณ„ํ•œ util, static์ฝ”๋“œ์— ์˜์กด์„ฑ์ด ์ ๋„๋ก ๊ฐœ๋ฐœํ•ด๋ณด์‹  ๋ถ„ ์šฐ๋Œ€์‚ฌํ•ญ * JPA, QueryDsl๊ธฐ๋ฐ˜ ์ฝ”๋“œ์˜ read ๊ธฐ๋Šฅ์„ Jooq๋กœ ๋ฆฌํŒฉํ† ๋ง ํ•˜์‹  ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„ * PostGIS ์œ ๊ฒฝํ—˜์ž * ๋…์„œ๋‚˜ ์Šคํ„ฐ๋””์— ๊ด€์‹ฌ์ด ๋งŽ์€ ๋ถ„ ๐Ÿง‘โ€๐Ÿ’ปย ์ง€์› ๋ฐฉ๋ฒ• * ํŒ€๊ณผ ์—ด์‹ฌํžˆ ์†Œํ†ตํ•˜๋ฉฐ ํ•จ๊ป˜ ์„ฑ์žฅํ•ด๊ฐ€์‹ค ๋ถ„๋“ค์ด ์ง€์›ํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! * ์•„๋ž˜ ์˜คํ”ˆ ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•œ ์ž๊ธฐ์†Œ๊ฐœ์™€ ์•„๋ž˜ ํ•„์ˆ˜ ์ •๋ณด๋ฅผ ๋ณด๋‚ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค! * https://open.kakao.com/o/sRu3zd4e * ์ง€์›์‹œ ํ•„์ˆ˜ ์ •๋ณด - ์ง€์—ญ - ํ˜„์žฌ ์žฌ์ง์ƒํƒœ (๋Œ€ํ•™์ƒ or ์ทจ์ค€์ƒ or ์ง์žฅ์ธ) - ๊ฒฝ๋ ฅ - ์ถ”๊ฐ€ (์ด๋ ฅ์„œ ๋“ฑ ๊ฒฝ๋ ฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ)

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค