iOS App | AOS App | PC Web |
---|---|---|
App Store |
Play Store |
bankidz.com |
๋ฑ ํค์ฆ๋ ์น๋ทฐ ํ๊ฒฝ์ ์ต์ ํ ๋์ด ์์ต๋๋ค. ๊ธฐํ ์น ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์๋ APPLE๋ก ๋ก๊ทธ์ธ, ๋ฅ๋งํฌ๋ฅผ ํตํ ๊ฐ์ด ์ด๋, ํธ์์๋ฆผ ๊ธฐ๋ฅ์ด ์ ์ ์๋ํ์ง ์์ต๋๋ค.
์ ์ฑ์ฐ |
ํ๊ท์ง |
๊น๋ฏผ์ค |
์ฃผ์ด์ง์ฌ๋ |
์ด๊ทผ์ฐ |
---|---|---|---|---|
Frontend Engineer |
Frontend Engineer |
Backend Engineer |
Backend Engineer |
App Engineer |
์๋์ | ๋ฐ์์ | ๊น์๋น | ์ต์งํ | |
CEO | PO | Designer | Designer |
๋ฑ ํค์ฆ๋ ๊ฐ์ค ๊ฒ์ฆ ์ฃผ๊ธฐ๋ฅผ ์ต์ํ ํ๊ธฐ ์ํด ํธ์์๋ฆผ์ ์ ์ธํ ๋ชจ๋ ๋น์ฆ๋์ค ๋ก์ง์ ์น ๊ธฐ์ ๋ก ๊ตฌํํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ ํญ์ ์ต์ ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ํผ๋๋ฐฑ์ ๊ธฐ๋ฏผํ๊ฒ ๋์ํฉ๋๋ค.
- ์ฝ์ด: React, TypeScript
- ์ํ๊ด๋ฆฌ: Redux, React-Query
- ๋์์ธ ์์คํ : storybook, Figma, Theme-provider
- ์คํ์ผ๋ง: Styled-components
- ์ฝ๋ํ์ง: ESLint, Prettier
- CI/CD: Github-actions, Docker-compose
- ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ: Git with Git-flow
- ํ์ : Swagger, Github
- ์ฝ๋ฉ ์ปจ๋ฒค์ : Bankidz FE Guide
- ์น๋ทฐ ์ฑ: React Native with EXPO
๋๋ํ ๋ฆฌ ๊ตฌ์กฐ
.
โโโ components # Atomic Design Pattern
โ โโโ atoms
โ โโโ blocks
โ โโโ pages
โโโ lib
โ โโโ apis
โ โ โโโ ${controller}
โ โ โโโ ${controller}Api.ts # queryFn, mutationFn
โ โ โโโ ${controller}Dto.ts # 'Server-side' types
โ โโโ constants
โ โ โโโ queryKeys.ts # queryKey
โ โโโ hooks # Global custom hooks
โ โโโ styles # themeProvider
โ โโโ types # 'Client-side' types
โโโ store # Redux Store
Architecture
๋ฑ ํค์ฆ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ํ ์คํธ ํ๊ฒฝ(dev)๊ณผ ์ค ์๋น์ค ํ๊ฒฝ(main)์ด ๋ถ๋ฆฌ๋์ด ์์ต๋๋ค. ๊ฐ ํ๊ฒฝ(branch)์ Github-actions, Dock-compose ๊ธฐ๋ฐ CI/CD ๋ฐ AWS EC2 ์ธ์คํด์ค ๊ธฐ๋ฐ ์๋ฒ๊ฐ ๊ตฌ์ถ๋์ด ์์ต๋๋ค. ๋ํ, push ๋ฐ ํ๊น ์ด๋ฒคํธ ๊ฐ์ง๋ฅผ ํตํด Docker-compose๋ก ์ด๋ฏธ์ง push๊ฐ trigger ๋ฉ๋๋ค. ์ค ์๋น์ค ํ๊ฒฝ์ ์ด๋ฏธ์ง๋ Github์ Relase ๋ฒ์ ๋์ ํตํด ๊ด๋ฆฌ๋ฉ๋๋ค.
์์ธํ
- ์นด์นด์ค, ์ ํ ์์ ๋ก๊ทธ์ธ์ ์ฌ์ฉํฉ๋๋ค.
- ์๋ฒ๋ก๋ถํฐ ๋ฐ์ accessToken์ memory (Redux Store)๋ฅผ ํตํด ๊ด๋ฆฌ๋๋ฉฐ, refreshToken์ httpOnly & secure cookie๋ฅผ ํตํด ๊ด๋ฆฌ๋์ด Client์์์ ์ง์ ์ ๊ทผ์ ์ฐจ๋จํ๊ณ ๋ณด์์ฑ์ ์ ๊ณ ํฉ๋๋ค. (ํด๋น ์ฒด๊ณ๋ ์น๋ทฐ ์ด์ ๊ณผ์ ์์ EXPO SDK ๊ด๋ จ cookie ํธํ์ฑ ๋ฌธ์ ๋ก, token์ด localStorage๋ฅผ ํตํด ๊ด๋ฆฌ๋๋ ๊ฒ์ผ๋ก ์์ ๋์์ต๋๋ค.)
ํ ํญ (์๋ ) | ํ ํญ (์๋ ) | ์๋ฆผ๋ด์ญ (๊ณตํต) |
---|---|---|
๊ฑท๊ณ ์๋ ๋๊ธธ โ ๋๊ธธ ํฌ๊ธฐํ๊ธฐ โ ์คํจํ ๋๊ธธ ์ญ์ |
๋๊ธฐ์ค์ธ ๋๊ธธ โ ๊ฑฐ์ ๋ ๋๊ธธ ์ญ์ | ๋ฌดํ ์คํฌ๋กค |
์์ธํ
- ํ ํญ์์๋ ์๋ก๊ฐ ์ข ์์ฑ์ ๊ฐ๋ ๋ค๊ฐ์ง ์ข ๋ฅ์ ๋๊ธธ์ ๋ํ CRUD๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ํ ํญ์ ๋ฐ์ดํฐ๋ React-Query ๊ธฐ๋ฐ์ interval refetching์ ํตํด ์ต์ ์ํ๋ฅผ ์ ์งํฉ๋๋ค.
- ์๋ฆผ๋ด์ญ์ ๋ฌดํ์คํฌ๋กค ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์์ ์ผ๋ก fetch ํฉ๋๋ค.
๋๊ธธ ๊ณ์ฝํ๊ธฐ (์๋ ) | ๋๊ธธ ๊ฑท๊ธฐ ํญ (์๋ ) |
---|---|
๊ณ์ฝ ๋์ โ ๊ณ์ฝ ์ํ โ ์ด๋ฆ, ๋ชฉํ๊ธ์ก โ ์ด์์จ, ๋งค์ฃผ ์ ๊ธ์ก โ ์๋ช โ ๊ณ์ฝ์ ํ์ธ |
- |
์์ธํ
- ์ ํ๋ ์๋ ์ ๋ฐ์ดํฐ๋ง optimisticํ๊ฒ fetch ํ์ฌ ํจ์จ์ ์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- fetch๋ ๋ฐ์ดํฐ๋ cache ๋์ด ์ถํ ๋ก๋ฉ์ ์ต์ ํ ํฉ๋๋ค.
๊ฐ์กฑ ์ด๋ (๊ณตํต) | ์ค์ (๊ณตํต) |
---|---|
๋ฅ๋งํฌ๋ฅผ ํตํ ๊ฐ์กฑ ์ด๋ โ ๊ฐ์กฑ๊ทธ๋ฃน ์ฐธ์ฌ โ ๊ฐ์กฑ๊ทธ๋ฃน ๋๊ฐ๊ธฐ โ ๊ฐ์กฑ๊ทธ๋ฃน ๋ง๋ค๊ธฐ |
- |
- ๋๊ธธ ๊ณ์ฝํ๊ธฐ, ๋๊ธธ ๊ฑท๊ธฐ ํญ (์๋ )
- ๊ฐ์กฑ ์ด๋, ๋ง์ดํ์ด์ง ํญ (๊ณตํต)
- ์๋ฆผ๋ด์ญ (๊ณตํต)
- ์ ์ฑ์ฐ | ์ฐ๋นํ ๋ฑ ํค์ฆ ๊ฐ๋ฐ๊ธฐ
- ํ๊ท์ง | Antifreeze! ๋ฑ ํค์ฆ
์์ ์ผ์ | ๋ํ๋ช | ์ต์ข ์ค์ | ์๊ธ/์ง์๊ธ (๋ง์) |
---|---|---|---|
22.07.14 | SC์ ์ผ์ํ โWomen in Fintechโ | ์ต์ข ์ ์ , Creator์ ์์ (2์) | 500 |
22.08.05 | ์ ์ด ์ฐํฉ IT ์ฐฝ์ ํํ CEOS ๋ฐ๋ชจ๋ฐ์ด | ์ฐ์์ ์์ | 10 |
22.08.16 | ์ ํ์ํ โํจ์ณ์ค๋ฉ 8๊ธฐ ๋ฑ ํฌํ๋ฌ์คโ | 1์ฐจ ์๋ฅ ํฉ๊ฒฉ, 2์ฐจ ๋ฉด์ ํ๋ฝ | - |
22.08.19 | ์ค๋ ์ง ํ๋๋ โ์ค๋ ์ง ๊ฐ๋ โ 6๊ธฐ | 1์ฐจ ์๋ฅ ํฉ๊ฒฉ, 2์ฐจ ์ธํฐ๋ทฐ ํฉ๊ฒฉ, 3์ฐจ PT ํ๋ฝ | - |
22.08.28 | ์ ๊ตญ ๋ํ์ ์ฐฝ์ ์ปจํผ๋ฐ์ค โ์๋โ | ๊ฒฐ์น์ง์ถ | - |
22.08.31 | ์๋น์ฐฝ์ ํจํค์ง ํ๋ฆฌ์ค์ฟจ | ์ต์ข ์ ์ | 460 |
22.10.10 | ์๊ฐ๋ํ๊ต ์ฐฝ์ ๋์๋ฆฌ | ์ต์ข ์ ์ | 300 |
22.10.15 | dยทcamp 'DยทDay x ์บ ํผ์ค๋ฆฌ๊ทธ' | ๊ฒฐ์น์ง์ถ | 100 |
Copyright โ All rights reserved by ์ ์ฑ์ฐ, ํ๊ท์ง