๐Project ํ๊ณ
Project | ์๋ฃ์ธ ์ธ์ฆ ๋ฏธ๋์ฑ(23.07.31~08.24)
pajiyeee
2024. 3. 14. 18:39
์น์ฆํก์์ ์ฐ๋ “์๋ฃ์ธ ๋ฉดํ ์ธ์ฆ”
์น์ฆํก์ ํตํ์ง ์๊ณ ๋ ๋ฐ๋ก ์ง์ ํ์ฌ ์๋ฃ์ธ ์ธ์ฆ์ ํ ์ ์๋ ์๋น์ค๋ก ๋ง๋๋ ์์ ์ ํ๋ค.
์๋น์ค์ ์ ์ ํ๋ก์ฐ
๐ User Flow 1.Redirect๊ฐ ์๋ ๊ฒฝ์ฐ ์น์ฆํก → ํ์๊ฐ์ → ๋ฏธ๋์ฑ ๋ณธ์ธ์ธ์ฆ(passVerify) → ๋ฉดํ ํ์ &๋ฉดํ ๋ฒํธ ์ ํํด์ ํ์ธ(Certification/Verify) → ์ฑ๊ณตํ๋ฉด ์น์ฆํก์ผ๋ก ์ด๋ํ์ฌ ๋ฉดํ์ธ์ฆ์นด๋ ํ๋
- Redirect๊ฐ ์๋ ๊ฒฝ์ฐ ํํ๋ฉด(Home) → ๋ฉดํํ์ ์ ํ(SelectType)→ ๋ฏธ๋์ฑ ๋ณธ์ธ์ธ์ฆ(PassVerify) → ๋ฉดํ๋ฒํธ ํ์ธ(LicenseNumber) → ์ฑ๊ณตํ๋ฉด ๊ฐ์ ๊ฒฝ๋ก์์ ๋ฉดํ์ธ์ฆ ์นด๋๋ฅผ ํ๋(Card)
๐จ Figma(๋ฆฌ๋ค์ด๋ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ flow ํ๋ฉด)
theme color :(๋ธ๋ฃจ ๊ณ์ด) #F1F6FC", "#3C84F0", "#2369D4"
Project Schedule
๊ฐ๋ฐ ํ๊ฒฝ
- yarn : ๊ฐ๋ฐํ๊ฒฝ ํจํค์ง ๊ด๋ฆฌํ ๋, npm๋ณด๋ค ํจํค์ง ์ค์นํ๋ ํ๋ก์ธ์ค๊ฐ ๋ ๋น ๋ฅด๊ณ , ์์ ํ๋ค๋ ํน์ง์ด ์๋ค๊ณ ํ๋ค.
- TypeScript : ๋ฆฌ์กํธ์ฒ๋ผ JSX๋ฅผ ์ฐ๋๋ฐ ํ์ ์ ์ง์ ํด์ค์ ์๋ฌ๋ฅผ ๋ฏธ๋ฆฌ ์๋ ค์ค๋ค๊ณ ํ๋ค. ๊ฐ๋จํ ๊ฑด ๊ด์ฐฎ์๋๋ฐ ํ์ ์ ์ง์ ํด์ฃผ๊ธฐ ์ด๋ ค์ด ์น๊ตฌ๋ค๋ ์์๋ค.
- tailwind css : ์ฒ์ ์จ๋ณด๋ css. ์ฒ์์ ์คํ์ผ์ ์ฐพ์์ ์ ์ฉํ๋ ๊ฒ ๋ณต์กํ๋๋ฐ ์กฐ๊ธ ์ ์ํ๋๊น ๋น ๋ฅด๊ฒ ๋ ์ด์์ ์ง๊ธฐ๊ฐ ์ข๋ค.
- dev(๊ฐ๋ฐ์ฉ)์ prd(์ค์ ์ด์)์ผ๋ก ๋๋์ด์ ธ ์๋ค.
- redirect๊ฐ ์๋ ๊ฒฝ์ฐ์ flow๋ ๊ตฌํ๋์ด ์์ด์ ์ฐธ๊ณ ํ๋ฉฐ ์์ ํ ์ ์์๋ค.
์ฃผ์ ํธ๋ฌ๋ธ ์ํ
- ๊ณต์ ํ๊ธฐ ๋ฒํผ ํด๋ฆญ ์ ๊ณต์ ์ ๋ํ ๋ค์ดํฐ๋ธ ์์คํ
์ ๊ฐ๊ณ ์์ง ์์ ๋๋ฐ์ด์ค ์ํ ํ์
๊ตฌํ
- ์นด์นด์ค ๋ก๊ณ ์์ด์ฝ์ด ๋ค๋ฅธ ์์ด์ฝ๋ณด๋ค ๋ฆ๊ฒ ๋จ๋ ๋ถ๋ถ
- ์นด์นด์ค ๋ก๊ณ ์์ด์ฝ ํด๋ฆญ ์, ์นด์นด์ค ๊ณต์ ํ๋ ํ์ ์ฐฝ์ด ๋ ์ผ ํ๋๋ฐ ์ ๋จ๋ ๋ฌธ์
- ์นด์นด์ค SDK๋ฅผ script์ ๋ถ๋ฌ์ค๋ useEffect์์ ๋ถ๋ฌ์ค๊ธฐ ์ ๋ก๋ฉ์ ์ถ๊ฐํ๊ณ Promise๋ฅผ ์จ์ ์นด์นด์ค SDK ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ ๋ฃ๊ณ then์ ๋ก๋ฉ์ ์์ ์ ์นด์นด์ค ์์ด์ฝ์ด ๋ํ๋๊ธฐ ์ ๋ก๋ฉ์ด ๋จ๊ฒ ๊ตฌํ
- ์นด์นด์คSDK์ ์ ๋ฐ์ดํธ ์ฌํญ๊ณผ ๋๋ฒจ๋กํผ์ค ๋ฌธ์๋ฅผ ๋ณด๋ฉด์ ํ ํ๋ฆฟ์ ์ปค์คํ ํ๋ ๋ฐฉ๋ฒ ์ฐพ์ ์๋ํ์ฌ ํ์ ์ฐฝ์ด ๋จ๊ฒ ๊ตฌํ
- ๐๋ฌธ์
- ๋ฉดํ์ธ์ฆ ์นด๋ ๋ฐ๊ธํ๋ฉด์ ๊ณต์ ํ ๋ ์๋ง๋ ์ ๋ณด๋ฅผ ๋ณด๋ด๊ธฐ ์ํ meta Og Tag ๋์ ์์ฑ
- SPAํ๊ฒฝ์ธ ์น์ด๋ฏ๋ก ํ๋์ html์ ๊ฐ์ง๊ณ ์์ดํด๋น ํ์ด์ง ์ปดํฌ๋ํธ์์ dom์ ์ ๊ทผํ์ฌ ๋ฐ๊ฟ์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ์ง๋ง ๊ณต์ ํ๊ธฐ๋ฅผ ํ์ ๋ ๋ฐ๋ ๊ฐ์ผ๋ก ์ ๋ํ๋ ๋ฌธ์
- reac-helmet-async๋ผ์ด๋ธ๋ฌ๋ฆฌ ํตํด meta ํ๊ทธ๋ฅผ ์์ฑํ๊ณ react-snap ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ์ฌ index.html์ ๋ํ๋๊ฒ ํจ
- ๐๋ฌธ์
- ๋ฉดํ์ธ์ฆ ์นด๋๋ฅผ ๋ฐ๊ธ ๋ฐ์ ์ฌ์ฉ์๋ data๋ฅผ ๋ณผ ์ ์๋๋ก ๊ตฌํ
- ๋ฉดํ์ธ์ฆ ์นด๋ ํ๋ฉด์ ๊ณต์ ๋ฐ์ ์ฌ์ฉ์๊ฐ url์ ํด๋ฆญํด์ ๋ค์ด๊ฐ๋ฉด data๊ฐ ๋น ๊ฐ์ผ๋ก ๋์ด
- ์ธ์ฆ ์นด๋์ data๋ฅผ ์ธ์ฆ ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์ณ์ ์ค๋ ๊ฒฝ์ฐ์ ์ธ์ฆ ํ๋ก์ธ์ค ๊ฑฐ์น์ง ์์ ๊ฒฝ์ฐ๋ก ๋๋๊ณ ํ์ํ data๋ฅผ ์ฟผ๋ฆฌ ์คํธ๋ง์ผ๋ก ๋ง๋ค์ด ๊ณต์ ํ๊ธฐ ๋ฒํผ์ ์ฟผ๋ฆฌ์คํธ๋ง์ด ๋ฌ๋ฆฐ ๊ฒฝ๋ก๋ฅผ ๋ณด๋ด๋๋ก ๊ตฌํ
- ๐๋ฌธ์
- ์นด๋ ํฐ์น/ํด๋ฆญ ์ select ์ ์ด
- ๋ฉดํ์ธ์ฆ ์นด๋๋ฅผ ๋๋๊ทธํ๊ฑฐ๋ ํฐ์นํ ๋ ์ด๋ฏธ์ง ๊ณ ์คํธํ์๊ณผ ํ๋์์ผ๋ก ๊ธํ ๋์ค๋ ํ์
- ์นด๋ ๋ด์ ์๋ imgํ๊ทธ๋ฅผ divํ๊ทธ๋ก ๋ฐ๊พธ์ด bg url๋ก ์ด๋ฏธ์ง ๊ฒฝ๋ก ์ค์
- ์นด๋ UI์ user-select :none๊ณผ webkit-tap-hightlight-color:transparent๋ฅผ ์จ์ฃผ์ด ํ๋์์ผ๋ก ๊ธํ๋ ํ์ ์ ์ด
- ๐๋ฌธ์
ํ๋ก์ ํธ์์ ๊ฒฝํํ ๊ฒ
- ์ค์ ์ฌ์ฉ๋๋ ์ฑ์ ์ฒ์๋ถํฐ ๋๊น์ง์ ํ๋ก์ฐ๋ฅผ ๊ฒฝํํ๊ณ ์์ ํด๋ณผ ์ ์์๋ ๊ฒ
- meta og ํ๊ทธ๋ฅผ ๋์ ์์ฑํ๊ธฐ ์ํด dom์ ์ ๊ทผํ์ฌ ๋ฐ๊ฟ๋ณด๊ธฐ๋ ํ๊ณ , ๐react-helmet-async ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์จ๋ณด๊ธฐ๋ ํ ๊ฒ
- ์ ๋๋ฉ์ด์ ์ css๋ก ๋ง๋ค๊ธฐ
- ๐html2canvas์ file-saver๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ์ฌ ์ฌ์ง ์ ์ฅํ๊ธฐ ๊ธฐ๋ฅ ๊ตฌํ
- ์นด์นด์ค ๊ณต์ ํ๊ธฐ SDKํ์ฉ
- ์ฟผ๋ฆฌ์คํธ๋ง ์ฌ์ฉ
- ๋ฐฑ์๋API ํต์
- QAํ ์คํธ์ ๋ฐฐํฌ
- ๋๋ฐ์ด์ค๋ณ ํ ์คํธ
- ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๊ฒ ๋๊ณ ์ฌ์ฉํด๋ณธ ์
- console์ ์์ฃผ ๋ณด๊ฒ ๋จ
์ด๋ฒ ํ๋ก์ ํธ๋ก ๋๋ ์
- ๊ท๋ชจ๊ฐ ์์ ํ๋ก์ ํธ์ฌ๋ ์ค์ ๋ก ์ฌ์ฉํ๋ ์๋น์ค์ฌ์ ์๊ฐํ๊ณ ์์ ํด์ผ ํ ๋ถ๋ถ๋ค์ด ๋ง์๋ค.
- ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ๊น์ด๋ ์๋์ง๋ง ์กฐ๊ธ์ด๋๋ง ์ธ ์ ์๊ฒ ๋๋ค.
- ์ฝ์ ๋ก๊ทธ๋ฅผ ๋ง์ด ์ฐ์ด๋ณผ ์ ์์๋ค.
- ์ ์ ํ๋ก์ฐ๋ฅผ ํ๋ก์ ํธ ์งํ์ํฉ 70% ๋์ ๋ ์ดํด๊ฐ ๋์๋ ๊ฑฐ ๊ฐ์ ๋๋์ด ๋ค์๋ค.
- ๋ฐฑ์๋ api๋ก ํต์ ํ๊ณ ์ฟผ๋ฆฌ์คํธ๋ง์ ํ์ฉํด ๋ณผ ์ ์์ด์ ๋๋ฌด ์ข์๋ค.
- ๋ด๊ฐ ํท๊ฐ๋ คํ๊ณ ๊ตฌ๋ถ์ด ์๋๋ ๋ถ๋ถ์ ํ์ธํ ์ ์์๋ค. ์ฟผ๋ฆฌ์คํธ๋ง๊ณผ location ๋ถ๋ถ์ ๋ ์์๋ด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
- meta์ ogํ๊ทธ๋ฅผ ๋์ ์ผ๋ก ์์ฑ๋๊ฒ ๋ง๋ค์ด ๋ณผ ์ ์์ด์ ์ข์๋ค.
- react-helmet-async๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ๋ฐฐํฌ๊น์ง ๋น ๋ฏํ๊ฒ ์์ ํ๋๋ฐ QAํ ์คํธ๋ฅผ ์์ ํ ์ฑ๊ณตํ์ง ๋ชปํ ๊ฒ ๊ฐ์ ์์ฌ์ด ๋ง์์ด ๋ ๋ค.
- css์ ์ ๋๋ฉ์ด์
์ ๋ง๋งํ๊ฒ ๋ณด๋ฉด ์ ๋ ๋ฏ
- ๋๋ฆ ๋ด๊ฐ ๊ทธ๋๋ง ์ํ๋ค๊ณ ์๊ฐํ ๋ถ๋ถ์ด์๋๋ฐ ๋๋ฌด ์ด๋ ค์ ๋ค.
- ๊ธฐ์กด์ ์์ด๋์ด ์์ฑํด์ฃผ์ ์ฝ๋๊ฐ ์์ด์ ์ฝ์ด๋ณผ ์ ์๋ ๊ธฐํ๊ฐ ์์ด์ ๋์์ด ๋ง์ด ๋๋ค.
- ๋ฏธ๋ ์ธ์ฆ ๊ฐ์ํ ์ฑ์ด ๋ฐ์ ํ๊ณ ์ ์ฐ์ฌ์ง๊ฒ ๋๊ธธ ๊ธฐ๋ํ๊ฒ ๋๋ค.
- ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ฌ์ ํ ์คํธํด๋ณด๊ณ ๊ฐ๋ฐ์๋๊ตฌ๋ฅผ ๋ณผ ์ผ์ด ๋ง์๋ค.
- ์ด๋ฐ์ ๋ฐ ์ผ์ด์ค๋ฅผ ํ ์คํธํด๋ณด๊ณ ์๋ฌ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค.
- ์ฝ์์ ์ ๋ค์ฌ๋ค ๋ด์ผ ํ๋ค.
Deploy