Skip to content

belf-kr/front-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

80 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

front-server

ํ•œ๊ตญ์–ด(KR) | English

์‚ฌ์šฉ์ž์˜ ์ฝ”์Šค๋ฅผ ๊ณต์œ ํ•˜๋Š” Todo ์„œ๋น„์Šค Web App!

  1. ๋ฐ˜์‘ํ˜•์œผ๋กœ ๊ณ ๋ ค๋œ Web Application ์ž…๋‹ˆ๋‹ค.
  2. api-gateway ๋“ฑ ํ•„์š”ํ•œ service๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ belf service ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  3. ์™€์ด์–ดํ”„๋ ˆ์ž„์€ Adobe XD๋ฅผ ํ†ตํ•˜์—ฌ ๋””์ž์ธ๋˜์—ˆ์œผ๋ฉฐ ํ”„๋กœํ† ํƒ€์ดํ•‘ ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Stack

  1. node:v14.16.1
  2. vscode
  3. next.js
  4. docker
  5. axios
  6. recoil
  7. styled-components

๋น ๋ฅธ ์‹œ์ž‘

๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  1. npm i ์œผ๋กœ ํ•„์š”ํ•œ ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•„์š”์— ๋”ฐ๋ผ .env.development ์—์„œ service์˜ ํ˜ธ์ถœ ์ฃผ์†Œ๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
    1. local ํ™˜๊ฒฝ์—์„œ API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๋ ค๋Š” API์˜ Server๊ฐ€ Up ๋˜์–ด์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
    2. API๋“ค์€ belf-kr/repositories ์—์„œ ์ฐพ์•„๋ณด์‹ค ์ˆ˜ ์žˆ์œผ๋ฉฐ Server ์‹คํ–‰ ๋ฐฉ๋ฒ•์€ README.md ์— ์ž‘์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.
  3. npm run dev ๋กœ nextjs๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ œํ’ˆ ์‹œ์ž‘

docker-compose์œผ๋กœ image build์‹œ ๋ฐœ์ƒ ์ด์œ ๋ฅผ ๋ชจ๋ฅด๋Š” Error: Parsing error: Cannot destructure property 'isTypeVariable' of 'undefined' as it is undefined. ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ image build๋ฅผ ๋จผ์ €ํ•˜๊ณ  docker-compose์œผ๋กœ ์‹คํ–‰ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

docker build -t belf-front-server . --file=Dockerfile.dev
docker-compose up -d

์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด docker image ์ƒ์„ฑ ํ›„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ

qa, prod ์œผ๋กœ ๋ฐฐํฌ ํ™˜๊ฒฝ์ด ๊ตฌ๋ถ„๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ฐ ํ™˜๊ฒฝ์— ๋งž๋Š” API์˜ Endpoint์œผ๋กœ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด ๋ฐฐํฌ ํ™˜๊ฒฝ์— ๋งž๋Š” ๋ณ€์ˆ˜๋ฅผ ์ฃผ์ž…๋ฐ›์•„ image๋ฅผ build ํ•  ์ˆ˜ ์žˆ๋„๋ก .env.* ๋ฐ Dockerfile.* ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ

./
โ”œโ”€โ”€ assets
โ”œโ”€โ”€ components
โ”œโ”€โ”€ data
โ”œโ”€โ”€ hooks
โ”œโ”€โ”€ layouts
โ”œโ”€โ”€ libs
โ”œโ”€โ”€ pages
โ”œโ”€โ”€ public
โ”œโ”€โ”€ states
โ”œโ”€โ”€ styles
โ””โ”€โ”€ theme
  • assets : icon ๋“ฑ ์—ฌ๋Ÿฌ ์—์…‹
  • components : ์ปดํฌ๋„ŒํŠธ
  • data : ์ž„์‹œ json ๋ฐ์ดํ„ฐ
  • hooks : ๋ชจ๋“  ์ปค์Šคํ…€ ํ›…
  • layouts : ๋ชจ๋“  ๋ ˆ์ด์•„์›ƒ ์ปดํฌ๋„ŒํŠธ
  • libs : ๊ธฐ๋Šฅ ๋ฉ”์†Œ๋“œ๋“ค (axios ํฌํ•จ)
  • pages : ์™ธ๋ถ€ ๋…ธ์ถœ ํŽ˜์ด์ง€
  • public : static ์—์…‹
  • states : recoil ์ „์—ญ ์ƒํƒœ
  • styles : ์Šคํƒ€์ผ
  • theme : ํ…Œ๋งˆ ์Šคํƒ€์ผ