๐ Project Management
Collaboration & Infrastructure
- Need a collaboration tool like Notion and Slack
- Establish policies and methods for schedule sharing and documentation
Planning Strategy
- ๊ธฐํ ์งํ ์ค์ ์๋ฒฝํ ํธ๋ ๋ ํ์ ์๊ฐ ํ์
- Dedicated time required to fully grasp market trends during the planning phase
Retrospective (์ง๋ ๋ฐ์ฑ)
- ์ ํ๊ณผ ์ง์ค์ ๋ชปํ ๋ป (๋ ํผ๋ด๊ณผ ํ ํฌ๋ ธ๋ฏน์ค)
- Avoided the pitfall of losing focus on core priorities (initially over-prioritizing Referral and Tokenomics).
Nostra Issues (๋ฌธ์ ์ )
- ๋ชฉํ์ ์ค๊ฐ ๊ณผ์ ์ ๋ํ ๊ทธ๋ฆผ์ด ์์
- ๊ฐ๋ฐ๊ณผ ์ด์์ ๋ํ ์ ์ฒด์ ์ธ ๊ทธ๋ฆผ์ด ์์
- ์ธ๋ถ์ ์์คํ ๊ณผ ์ฐ๋์ ๋ํ ๊ทธ๋ฆผ์ด๋ ์์ด๋์ด๊ฐ ์์
- ์๋ก์ด ์์ด๋์ด๊ฐ ์์
Git Workflow Policy (์ปค๋ฐ & ๋ธ๋์น ์ ์ฑ )
์์ ์ค๋จยท์ฌ๊ฐ์ ์ปค๋ฐ์ ๋ค๋ฃฐ ๋์ ๊ฐ์ธ ์ ์ฑ . (2026-06-04 ์ ๋ฆฝ)
ํต์ฌ ์์น
main์๋ ์์ฑ๋(complete) ์ปค๋ฐ๋ง ์ฌ๋ฆฐ๋ค. ๋ฏธ์์ฑ ์์ ์ ์ ๋main์ ์ง์ ์ปค๋ฐํ์ง ์๋๋ค.- ์์
์ ํญ์ feature ๋ธ๋์น์์ ํ๋ค (
feat/<name>). - ํ๋ฃจ๋ฅผ ์ค๋จํ ๋๋ ๊ทธ๋ฅ ๋ด๋ฒ๋ ค๋์ง ๋ง๊ณ WIP ์ปค๋ฐ + push๋ก ์ค๋ ์ท์ ๋จ๊ธด๋ค (๋ฐฑ์ ยท๋ค๊ธฐ๊ธฐยท์์ ).
- ๋จธ์ง ์ ์ ์ ๋ฆฌํ๋ค: WIP ์ปค๋ฐ๋ค์ squash/amend ํด์ ์ต์ข ํ์คํ ๋ฆฌ๋ ๊น๋ํ "์์ฑ ๋จ์" ์ปค๋ฐ๋ง ๋จ๊ธด๋ค.
์ปค๋ฐ ๋ฉ์์ง flag word
| ํ์ | ์ข ๋ฅ | ์๋ฏธ |
|---|---|---|
wip: / [WIP] |
์ฌ๋์ฉ ๋ผ๋ฒจ | "๋ฏธ์์ฑ, ๋์ค์ ์ ๋ฆฌํ ๊ฒ"์ด๋ผ๋ ์ ํธ (๊ธฐ๋ฅ์ ํจ๊ณผ ์์) |
fixup!<์ ๋ชฉ> |
git ํค์๋ | git commit --fixup=<์ปค๋ฐ>. squash ์ ๋ฉ์์ง ๋ฒ๋ฆผ, ๋ณ๊ฒฝ๋ง ํฉ์นจ |
squash!<์ ๋ชฉ> |
git ํค์๋ | git commit --squash=<์ปค๋ฐ>. squash ์ ๋ฉ์์ง ํฉ์นจ(ํธ์ง ๊ฐ๋ฅ) |
fixup!/squash!๋git rebase -i --autosquash <base>๊ฐ ์๋์ผ๋ก ๋์ ์ปค๋ฐ ์๋๋ก ์ ๋ ฌยทํฉ์ณ์ค๋ค. (git config --global rebase.autosquash true๋ก ๊ธฐ๋ณธ ํ์ฑํ ๊ฐ๋ฅ)
ํ์ค ํ๋ฆ (ํ๋ฃจ ๋จ์)
# ์์: ๋ธ๋์น์์ ์์
git switch -c feat/year-hare # (์ด๋ฏธ ์์ผ๋ฉด git switch feat/year-hare)
# ์ค๋จ(ํ๋ฃจ ๋): WIP ์ค๋
์ท + ๋ฐฑ์
git add <์์
๋ถ๋ง> # ๊ด๋ จ ๋ณ๊ฒฝ๋ง ์ ํ์ ์คํ
์ด์ง
git commit -m "wip: <๋ฌด์์ ํ๋ ์ค์ธ์ง>"
git push -u origin feat/year-hare
# ์์ฑ ํ: ์ ๋ฆฌ โ main ๋จธ์ง
git rebase -i --autosquash main # wip ์ปค๋ฐ๋ค์ ์์ฑ ์ปค๋ฐ์ผ๋ก ์ ๋ฆฌ
git switch main && git merge feat/year-hare
์์ ์ฒดํฌ (์ปค๋ฐ ์ )
.env*.local,node_modules, ๋น๋ ์ฐ์ถ๋ฌผ์ด.gitignore๋ก ์ ์ธ๋๋์ง ํ์ธ โ ์ํฌ๋ฆฟ ์ปค๋ฐ ๋ฐฉ์ง.git diff --cached --name-only๋ก ์คํ ์ด์ง๋ ํ์ผ์ด ์๋ํ ๊ฒ๋ง์ธ์ง ํ์ธ.
๋น๊ณ (๋์จํ ์ ์ฑ )
- ์ํนํธ๋ฆฌ์ ๊ด๋ จ ์๋ untracked ๋ณ๊ฒฝ์ด ๋ ์์ด๋ ๋ฌด๋ฐฉ โ ์ ํ์
git add๋ก ์๋ํ ํ์ผ๋ง ์ปค๋ฐํ๋ค.
Deployment Workflow (๋ฐฐํฌ ์ํฌํ๋ก์ฐ)
์ปค๋ฐยท๋จธ์ง์ ๋ฐฐํฌ์ ํ์ด๋ฐ, ๊ทธ๋ฆฌ๊ณ "๋ฐฐํฌ ์ ํ๋ฉด ๋ชป ์ก๋ ๋ฒ๊ทธ"๋ฅผ ๋ค๋ฃจ๋ ๋ฒ. (2026-06-24)
ํต์ฌ ์์ โ ๋ฐฐํฌ๋ ๋ง์ง๋ง
๋ฐฐํฌ = ์ปค๋ฐ๋(์ด์์ ์ผ๋ก ๋จธ์ง๋) ์ํ๋ฅผ ์ถํํ๋ค. ์ปค๋ฐ ์ ๋ ๋ก์ปฌ ๋ณ๊ฒฝ์ ์ ๋ ๋ฐฐํฌํ์ง ์๋๋ค(์ถ์ ยท๋กค๋ฐฑ ๋ถ๊ฐ).
1. ๋ก์ปฌ ์คํ/ํ
์คํธ โ ๋ฒ๊ทธ ์ฐพ๊ธฐ (๊ฒ์ฆ์ ์ฌ๊ธฐ์)
2. commit โ ๋ก์ปฌ์์ ๋์ํ ๋๋ง
3. push โ PR โ ๋ฆฌ๋ทฐ โ merge
4. deploy โ ๊ฒ์ฆ๋ ์ฝ๋ ์ถํ (๋ง์ง๋ง)
๋ ์ข ๋ฅ์ ๋ฒ๊ทธ
| ์ข ๋ฅ | ์ด๋์ ์ก๋ |
|---|---|
| ์ฑ/๋ก์ง ๋ฒ๊ทธ (UI, ์ฟผ๋ฆฌ, ๋ ๋๋ง) | ๋ก์ปฌ ์คํ์ผ๋ก |
| ๋ฐฐํฌ/ํ๊ฒฝ ๋ฒ๊ทธ (Cloud SQL ์์ผ, Secret Manager, CORS, OAuth redirect, ์ฝ๋์คํํธโฆ) | ๋ฐฐํฌํด์ผ ์กํ โ ๋ก์ปฌ ์ฌํ ๋ถ๊ฐ |
๋ฐฐํฌ ๋ฒ๊ทธ๋ "์์ ํ ํ๊ฒ"์ ๋จผ์ ๋ฐฐํฌํด์ ์ก๋๋ค
์ค์ ๋๋ฉ์ธ์ ๋ฐ๋ก ๋ถ์ด์ง ์๋๋ค. Cloud Run์ด ์ฃผ๋ *.run.app URL = ์คํ
์ด์ง.
deploy โ *.run.app URL ์์ ํ
์คํธ โ ๋ฐฐํฌ ๋ฒ๊ทธ ์์ โ redeploy
์๋ํ๋ฉด โ verex.jaylabs.xyz ๋งคํ (= go live, ๋ง์ง๋ง)
๋๋ฉ์ธ(=prod)์ run.app URL์ด ์๋ํ ๋ค ๋ง์ง๋ง์ ๋ถ์ธ๋ค โ prod๊ฐ ๊นจ์ง ์ผ์ด ์๋ค.
์ฒซ ๋ฐฐํฌ ๋ฃจํ (๋ฐ๋ณต์ ์ ์)
branch ๋ฐฐํฌ โ run.app โ ๋ฐฐํฌ ๋ฒ๊ทธ โ ์์ โ commit โ redeploy
... run.app ์ด ์๋ํ ๋๊น์ง ๋ฐ๋ณต ...
โ ๊ทธ๋ค์: main ๋จธ์ง + ๋๋ฉ์ธ ๋งคํ
("merge ํ prod ๋ฐฐํฌ"๊ฐ ์ ์ ์ํ; "branch๋ฅผ ์คํ ์ด์ง์ ๋ฐฐํฌยท๋ฐ๋ณต ํ merge+go-live"๊ฐ ์ฒซ ๋๋ฌ ๋ฐฉ๋ฒ.)
๋ก์ปฌ ์คํ (์ปค๋ฐ ์ ์ฑ ๋ฒ๊ทธ ์ก๊ธฐ) โ ์: verex
docker run -d --name verex-pg -e POSTGRES_PASSWORD=dev -p 5432:5432 postgres:16
# packages/api/.env โ DATABASE_URL=postgresql://postgres:dev@localhost:5432/verex
pnpm --filter @verex/api exec prisma db push && pnpm --filter @verex/api seed
pnpm --filter @verex/api dev # API :4000
# packages/web/.env.local โ NEXT_PUBLIC_API_URL=http://localhost:4000
pnpm --filter @verex/web dev # web :3000 โ http://localhost:3000 ์์ ํ์ธ
๐ค Project (Notion ๋ฏธ๋ฌ)
Notion ๐ค Project ํ์ด์ง ๋ด์ฉ์ ์ฎ๊ฒจ์ด. (2026-06-25)
๊ธฐ๋ณธ ์์น
- Code Review๋ ํ์ง ์๋๋ค.
- ๋ค๋ง ๋ณด์์/๊ธฐ๋ฅ์ ํฌ๋ฆฌํฐ์ปฌํ ๋ถ๋ถ์ ์ฌ๋์ด ๋ฆฌ๋ทฐํ๋ค.
๊ธฐํ
- ๋
ธํธ๋ ๊ผผ๊ผผํ ๊ด๋ฆฌํ๋ค. ๋์ ๋ค ์ด ๊ฒ์ ๋ฒ๋ ค๋ ์ข๋ค.
- ๋ฒ๋ฆฌ์ง ๋ง๊ณ ์บ๋ ผ ์ค์บ๋๋ฅผ ์ด์ฉํ์.
- Policy Responses
- ์๋ง์กด์ ์ ๋ง ์ค์ํ Billing ๊ธฐ๋ฅ์ ์ฒ ์ ํ ์ฌ๋์ ๋ฆฌ๋ทฐ๋ฅผ ๊ฑฐ์น๋ค.
Tools
- ์ด๋ป๊ฒ ์์ด๋์ด๋ฅผ ๊ณต์ ํ ๊ฒ์ธ๊ฐ? Miro or FigJam?
- ์ผ๋จ FigJam ์ฐ๋ค๊ฐ ๋์ค์ ํ์ํ๋ฉด ๋ฐ๊พธ๋ ๊ฒ๋ ๊ด์ฐฎ์. ์ด์ฐจํผ Miro ์ฐ๋ ๋ฐ ๋ฌธ์ ์์.
- FigJam ๊ทธ๋ฅ ์จ๋ ๋จ. ๊ฐ์ด๋๋ง ์ ๋ง๋ค์ด ๋์ผ๋ฉด ๋์ง.
- ๊ธฐ๋ณธ ์ค๊ณ ๋ฌธ์๋ GitHub md ํ์ผ
- ๋ณด์์ด ํ์ํ๋ฉด Google Drive ๋ฌธ์
- ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ค๋ฉด Excalidraw ์ด์ฉ
Claude ๊ฐ๋ฐ ํ๋ก์ธ์ค
๊ธฐ๋ณธ
- ๋ณํ ์คํ์ ์ํด์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ ๋๋๋ ๊ฒ ์ข์ ์ ์๋ค.
ํด๋ ๊ตฌ์กฐ
- docs
- architecture โ ์ค์ํ ์ํคํ ์ฒ ๊ฒฐ์ ์ ๋ํ ๋ฌธ์
- history โ ์๋ฃ๋ ์์ ์ ๋ํ ์ ๋ฆฌ
- plan โ features.md
- tasks โ ๊ฐ๋ฐ์์ ์ํ ์์ ๋ช ์ธ / ํด๋ก๋์ ์ํ ์ค๊ณ ํ์ผ
ํ๋ก์ธ์ค
- ์ ์ฒด ํ๋ก์ ํธ ๊ฐ์ ์์ฑ
- Google Docs์ ํ์ํฌ์ธํธ ์์ฑ โ Excalidraw์ ์คํฌ๋ฆฐ ์บก์ฒ๋ฅผ ์ด์ฉํด ํ๋ฉด ์์ฑยท๋ถ์ด๊ธฐ
- features์ ๊ฐ๊ด์ ๊ธฐ๋ฅ ๋ช ์ธ โ ์ผ์ ๋ฑ๋ README.md์์ ํจ๊ป ๊ด๋ฆฌ
- ๊ธฐ๋ฅ ๊ด๋ฆฌ๋ฅผ GitHub ์ด์๋ก ํ ์ง ๊ณ ๋ฏผ ํ์ (์์ธ ์ค๊ณ๋ ๋ฌธ์ ๋์ ์ด์๋ก, ๊ณต๋ ์์ ์ ํนํ ์ ์ฉ)
- task ํ์ผ์ ๋ง๋ค๊ณ design ํ์ผ์ ์์ฒญํ๋ค (์:
jun-19-task.md,jun-19-task-design.md) - design ํ์ผ์ ํตํด ์ค์ ์ฌํญ ๊ฒฐ์
- design ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ์งํ
- ์์ ์๋ฃ ํ history ํด๋์ ์์ ์ด๋ ฅ ๋จ๊ธฐ๊ธฐ (์ค๊ฐ ์ฒดํฌํฌ์ธํธ๋ ๊ธฐ๋ก)
- ๋ชจ๋ ์์ ์ ๋ธ๋์น์ PR์ ํตํด ๊ฒ์ฆํ๋ค.
- ์ฌ์ค ์ ๋ฆฌํ๋ ์๊ฐ์ ์ํฌ ์ผ์ ๊ทธ๋ฅ ์ํจ๋ค.
ํ์ /์ง์ ๋๊ตฌ (2026-06-25)
- Notion = ์ง์์ด ๋จธ๋ฌด๋ ์ธต (durable knowledge store) โ ์คํยทํ์คํฌยท๋ฆฌ์์น ๋ ธํธ์ฒ๋ผ ์ค๋ ๋จ๊ธฐ๊ณ ๋ค์ ์ฐพ๋ ๊ฒ.
- Slack / Claude Tag = ์์์ด ์ผ์ด๋๋ ์ธต (real-time delegation) โ Notion์ ์ปจํ ์คํธ ์์ค๋ก ์ฝ์ด์ ์ผํ๋ค. Notion์ ๋์ฒดํ์ง ์๋๋ค.
- ๋์ ๊ฒฝ์์ฌ๊ฐ ์๋๋ผ ๋ค๋ฅธ ์ธต์. ์๋ก ๋จ๊ณ์ ์ค์ง ์กฐํฉ = Notion(์ง์) + Claude Code/Cowork(์์).
- Claude Tag๋ ํ์ฌ Enterprise/Team Slack ํ์ โ ์๋ก๋ฉด ์ง๊ธ์ ๋ชป ์. ํ ์ ์ ์ด ์๊ธฐ๋ฉด ๊ทธ๋ ์์ ์ธต์ผ๋ก ์น๋๋ค.