๋ก๊ณ ํด๋ฆญ ์ ๋ง์ด์ ํํ์ด์ง๋ก ์ด๋ํฉ๋๋ค ๐ =3
- ์ฅ์ค์ (FE ํ์ฅ)
- ๋ฉ์ธํ์ด์ง, ํค๋ ํธํฐ ๋ ์ด์์, ๋ก๊ทธ์ธ ํ์ด์ง, ํ์๊ฐ์ ํ์ด์ง, ์์ด๋ ๋น๋ฐ๋ฒํธ์ฐพ๊ธฐ ํ์ด์ง, ๊ด๋ฆฌ์ ํ์ด์ง
- ์ด์ํ
- ๋ ์ํผ ์กฐํ ํ์ด์ง, ๋ ์ํผ ์คํฌ๋ฉ ํ์ด์ง, ์ ์ ํ์ด์ง (์ ์ ๋ ์ํผ / ํ๋ก์ / ํ๋ก์)
- (์ฌ๋ฃ ์ฒดํฌ๋ฆฌ์คํธ, ๋ชฉ์ฐจ๋ฐ & ์คํฌ๋กค ์งํ๋ฐ, ํ๋ก์ฐ ๊ธฐ๋ฅ ๋ฐ ๋ชฉ๋ก, ํ๋กํ ์นด๋, ๋๊ธ, ์ข์์, ๊ณต์ , ์คํฌ๋ฉ, ์น ๋ฐ ๋ชจ๋ฐ์ผ ๋ฐ์ํ)
- ์ด๋ํ
- ๋ง์ดํ์ด์ง (์ ์ ํ๋กํ, ๋ ์ํผ ์กฐํ/์ญ์ , ํ์์ ๋ณด์์ (ํ๋กํ์ฌ์ง ์ ๋ก๋/ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ / ํ์ํํด), ๋ชจ๋ฌ์ฐฝ)
- ๊น๋๊ท
- ๋ ์ํผ ๋ฑ๋ก ํ์ด์ง, ๋ ์ํผ ์์ ํ์ด์ง, ๋ ์ํผ ์ด์ํ ์๋์ปต ๊ฒ์ (์น ๋ฐ ๋ชจ๋ฐ์ผ) ๊ตฌํ, ๋ง์ด์ ํ๋ณด ์์ ์ ์
- ์์ ํ
- ๊ฒ์๋ฌผ ๊ฒ์ ํ์ด์ง (์น ๋ฐ ๋ชจ๋ฐ์ผ) ๊ตฌํ
- (๋ ์ํผ ์ธ๋ค์ผ ์ปดํฌ๋ํธ, FilterBar ๋ฐ Tag, ์ ๋ ฌ ๋ฒํผ, ํ์ด์ง๋ค์ด์ , ๋ฌดํ์คํฌ๋กค, ๊ด๋ จ API ์ฐ๊ฒฐ, MBTI, Kakao API๋ฅผ ์ด์ฉํ ๊ณต์ ๊ธฐ๋ฅ)
- ์ ์ ๋น (ํ์ฅ)
- ์กํธ์ค (BE ํ์ฅ)
Feat
: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐFix
: ๋ฒ๊ทธ ์์ Docs
: ๋ฌธ์ ๋ณ๊ฒฝDesign
: CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝStyle
: ์ฝ๋ ํฌ๋งทํ , ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ์ฝ๋ ๋ณ๊ฒฝ์ด ์๋ ๊ฒฝ์ฐRefactor
: ์ฝ๋ ๋ฆฌํฉํ ๋งTest
: ํ ์คํธ ์ฝ๋ ์ถ๊ฐ, ๋ฆฌํฉํ ๋ง ํ ์คํธ ์ฝ๋ ์ถ๊ฐChore
: ๋น๋ ์์ , ํจํค์ง ๋งค๋์ ์์ Comment
: ํ์ํ ์ฃผ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝRename
: ํ์ผ ๋๋ ํด๋ ๋ช ์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์ ๋ง์ธ ๊ฒฝ์ฐRemove
: ํ์ผ์ ์ญ์ ํ๋ ์์ ๋ง ์ํํ ๊ฒฝ์ฐ!BREAKING CHANGE
: ์ปค๋ค๋ API ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ!HOTFIX
: ๊ธํ๊ฒ ์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณ์ผ ํ๋ ๊ฒฝ์ฐ
import { useEffect, useState, useRef } from "react";
import route from "next/navigate"
// file-scope constant
const ONE = 1;
const MY_NAME = "YOONSU";
const Page = (props) => {
const { a, b, c } = props
// state
const [state, setState] = useState();
// constant
const route = useRoute();
const ref = useRef();
// handler
const buttonClickHandler = () => {
console.log("click");
};
// useEffect
useEffect(() => {
console.log("useEffect");
}, []);
return <></>;
};
export default Page;
master
โโโ dev-fe
โ โโโ feature/user
โ โ โfeature/postList
โ โ โ feature/main
โ โ โ feature/ViewPage
โ___โ___โโโ feature/my-page
feature/(๊ธฐ๋ฅ๋ช )์ผ๋ก ๊ฐ์ธ ์์ ๋ธ๋์น ์์ฑ, ๊ธฐ๋ฅ๊ตฌํ ํ dev์ PR
- Figma : ์ด๋ฐ ๊ธฐํ์ ๋น ๋ฅธ ๋ ์ด์์์ ์ก๊ธฐ ์ํด ์ฌ์ฉ
- Notion : ํ ํ์ด์ง, ์คํฌ๋ผ ์ ๋ฆฌ, ๋ฌธ์ ์ ๋ฆฌ
- Gather : ํ์๊ฐ ์ปค๋ฎค๋์ผ์ด์ ๋ฐ ์จ๋ผ์ธ ์คํฌ๋ผ ์งํ
- Gitlab : Code Repository
- Discord : ํ์๊ฐ ์ปค๋ฎค๋์ผ์ด์ ์ ์ํด ์ฌ์ฉ
- ๏ฟฝSwagger : API ํ ์คํธ ์งํ
- pm2๋ฅผ ์ด์ฉํ ์๋ฒ ์คํ ๋ฐ nginx๋ฅผ ํ์ฉํ ๋ฐฐํฌ
git clone {.....repository_name}.git
cd {repository_name}
npm install
npm run dev
NEXT_PUBLIC_KAKAO_API_KEY={OUR_KAKAO_KEY}
NEXT_PUBLIC_AWS_ACCESS_KEY_ID={AWS_KEY}
NEXT_PUBLIC_AWS_SECRET_ACCESS_KEY={AWS_ACCESS_KEY}
NEXT_PUBLIC_AWS_BUCKET_NAME={AWS_NAME}