Skip to content

secondlinefirefist/caffeineMarket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โ˜•๏ธ caffeineMarket

1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

์ปคํ”ผ๋ฅผ ์ข‹์•„ํ•˜๋Š” ํ˜„๋Œ€์ธ์ด๋ผ๋ฉด ์†์‰ฝ๊ฒŒ ๋กœ๊ทธ์ธํ•˜์—ฌ ์ปคํ”ผ์™€ ๊ด€๋ จ๋œ ์ƒํ’ˆ์„ ํŒ๋งคํ•˜๊ณ  ์ผ์ƒ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” SNS ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ปคํ”ผ์™€์˜ ์ผ์ƒ์„ ๊ฒŒ์‹œ๊ธ€๋กœ ๊ณต์œ ํ•˜๋ฉฐ ์ข‹์•„์š”์™€ ๋Œ“๊ธ€์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์™€ ์†Œํ†ตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค์„ ํŒ”๋กœ์šฐํ•˜๊ณ , ๋งˆ์Œ์— ๋“œ๋Š” ํ”ผ๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด '์ข‹์•„์š”'๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋Œ“๊ธ€์„ ๋‹ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์™€ ์ฑ„ํŒ…์ฐฝ์„ ์ด์šฉํ•ด ์ฆ๊ฑฐ์šด ๋Œ€ํ™”๋„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงท ๋ฐฐํฌ URL


2. ํŒ€์› ์†Œ๊ฐœ(2ํ˜ธ์„  ๋ถˆ์ฃผ๋จนํŒ€)

๊น€๋ฏผ์˜ ๊น€์ง€์ˆ˜ ๊น€ํƒœํฌ ์ฑ„์ง€ํ›ˆ
๐Ÿ”— BradleyyKim ๐Ÿ”— jsk3342 ๐Ÿ”— greenT-Hee ๐Ÿ”— jihoon-chae

3. ๋ชฉํ‘œ

๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ… ํ™œ์šฉ ๋ฐ ์ƒํƒœ๊ด€๋ฆฌ, ๋น„๋™๊ธฐ ํ†ต์‹  ๊ฐœ๋… ๋“ฑ ๊ธฐ์ดˆ์ ์ธ ํ™œ์šฉ์„ ํ•™์Šตํ•˜๊ณ  ๊ตฌ์ฒด์ ์ธ ์ดํ•ด๋ฅผ ๋ชฉํ‘œ๋กœ ์ œ์ž‘

  • ๋น ๋ฅธ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ๋ชฉํ‘œ
  • ์œ ์ €์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ํฐ ํ”„๋กœ์ ํŠธ์—์„œ ๋™์ ์ธ UI์˜ ํ•„์š”์„ฑ ์ฒด๊ฐํ•˜๊ธฐ ์œ„ํ•จ
  • ์›น ์„œ๋น„์Šค์˜ ๊ทœ๋ชจ์˜ ์ปค์ง์— ๋”ฐ๋ผ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ์ค‘์š”์„ฑ์„ ์ง์ ‘ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•จ
  • DOM ์ด๋ฒคํŠธ์˜ ๋ณต์žก์„ฑ์„ ์ง์ ‘ ์ฒด๊ฐํ•˜๋ฉด์„œ virtual DOM์˜ ํ•„์š”์„ฑ์„ ์ฒด๊ฐํ•˜๊ธฐ ์œ„ํ•จ

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

4.1 ์Šคํƒ

  • Front-End : HTML CSS JavaScript Sass
  • Back-End : ์ œ๊ณต๋œ API ์‚ฌ์šฉ

4.2 ๊ฐœ๋ฐœ ๊ด€๋ฆฌ

Jira Slack

5. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

.
โ”œโ”€โ”€๐Ÿ“ src
   โ”œโ”€โ”€๐Ÿ“ pages
   |   โ””โ”€โ”€ ...html
   โ”œโ”€โ”€๐Ÿ“ css
   โ”œโ”€โ”€๐Ÿ“ img
   โ””โ”€โ”€๐Ÿ“ js

6. ์—ญํ•  ๋ถ„๋‹ด

๐Ÿ‘จ๐Ÿปโ€๐Ÿš’ ๊น€์ง€์ˆ˜

  • splash ๊ตฌํ˜„
  • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  • ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„
  • ํ”„๋กœํ•„ ์ˆ˜์ • ๊ตฌํ˜„
  • ํ™ˆํ”ผ๋“œ ๊ตฌํ˜„

๐Ÿ‘จ๐Ÿปโ€๐Ÿš’ ๊น€๋ฏผ์˜

  • ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก(upload)
    • ํ…์ŠคํŠธ ์ž…๋ ฅ ๋ฐ ์—…๋กœ๋“œ ๊ตฌํ˜„
    • ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ตฌํ˜„
    • POST์š”์ฒญ์œผ๋กœ API์— ๋ฐ์ดํ„ฐ ์ €์žฅ
  • ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํŽ˜์ด์ง€(postDetail)
    • myProfile ํŽ˜์ด์ง€์—์„œ ์ด๋ฏธ์ง€ ํด๋ฆญ ์‹œ postId๊ฐ’์„ ๋ถˆ๋Ÿฌ์™€ ์ƒ์„ธ ํŽ˜์ด์ง€ UI ๊ตฌํ˜„
    • API์— ์ €์žฅ๋œ ๊ฐœ์ธ ๋กœ๊ทธ์ธ ํ† ํฐ์„ ์ด์šฉํ•ด GET์š”์ฒญ์„ ํ†ตํ•ด UI ๊ตฌ์„ฑ
    • ๋Œ“๊ธ€ UI ๊ตฌํ˜„
  • ๋Œ“๊ธ€ ์ž‘์„ฑ ๊ธฐ๋Šฅ(commentLoad)
    • ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ reload๋ฅผ ํ†ตํ•ด ๋Œ“๊ธ€ ์‹ค์‹œ๊ฐ„ ์ถ”๊ฐ€ ๊ตฌํ˜„
  • ๊ฒ€์ƒ‰ํŽ˜์ด์ง€(search)
    • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๋ฐ•์Šค ์‹ค์‹œ๊ฐ„ ๊ตฌํ˜„ ์˜ˆ์ •

๐Ÿ‘จ๐Ÿปโ€๐Ÿš’ ์ฑ„์ง€ํ›ˆ

  • ์ƒํ’ˆ๋“ฑ๋ก (product)

    • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ์ƒํ’ˆ ๋ฐ์ดํ„ฐ POST ์š”์ฒญ
  • ์ƒํ’ˆ์ˆ˜์ •(productModification)

    • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ์ƒํ’ˆ ๋ฐ์ดํ„ฐ GET์š”์ฒญ/ PUT ์š”์ฒญ
  • ์ฑ„ํŒ…๋ฐฉ(chatRoom)

    • ํ…์ŠคํŠธ ์ž…๋ ฅํ›„ ์ „์†ก ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์ฑ„ํŒ…์ฐฝ์— ๋ Œ๋”๋ง
    • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ์‹œ ์ฑ„ํŒ…์ฐฝ์— ๋ Œ๋”๋ง

๐Ÿ‘ท๐Ÿปโ€โ™€๏ธ ๊น€ํƒœํฌ

  • myProfile & yourProfile

    • ์œ ์ € ์ •๋ณด, ์ƒํ’ˆ&๊ฒŒ์‹œ๊ธ€ ๋ฆฌ์ŠคํŠธ GET
  • 404, ๊ณต์šฉ ๋ฐ ํ”„๋กœํ•„ ๋ชจ๋‹ฌ, ์‚ญ์ œ, ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • follwing & follower

    • ํŒ”๋กœ์ž‰/ ํŒ”๋กœ์šฐ API GET, DELETE, POST
    • ํŒ”๋กœ์šฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ˆซ์ž ์ฆ๊ฐ ๋ฐ˜์˜
  • ์ข‹์•„์š” ๊ธฐ๋Šฅ

    • ์ข‹์•„์š” API POST, DELETE ์š”์ฒญ
  • ์ผ๋Ÿฌ์ŠคํŠธ ๋กœ๊ณ  ๋””์ž์ธ

    • ์นดํŽ˜์ธ ๋งˆ์ผ“ ์บ๋ฆญํ„ฐ ๋กœ๊ณ  ๋ฐ ์•„์ด์ฝ˜ ์ œ์ž‘

7. ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

2022.06.09 ~ 2022.07.29


8. UI

image

9. ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ

๐Ÿงท ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ์ƒ์„ธ ์„ค๋ช…

1) ํ™ˆ

splash ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€
splash login ํšŒ์›๊ฐ€์ž…
ํ™ˆ ํŽ˜์ด์ง€ ์ฑ„ํŒ… ํŽ˜์ด์ง€ 404 ํŽ˜์ด์ง€
image

2) ๊ฒŒ์‹œ๊ธ€

๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํŽ˜์ด์ง€ ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํŽ˜์ด์ง€
๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ

3) ํ”„๋กœํ•„

๋งˆ์ด ํ”„๋กœํ•„ ํŽ˜์ด์ง€ ์œ ์–ด ํ”„๋กœํ•„ ํŽ˜์ด์ง€ ํŒ”๋กœ์šฐ/ํŒ”๋กœ์ž‰ ๊ธฐ๋Šฅ
๋งˆ์ดํ”„๋กœํ•„ ์œ ์ €ํ”„๋กœํ•„ ํŒ”๋กœ์›ŒํŽ˜์ด์ง€
๋กœ๊ทธ์•„์›ƒ ํŽ˜์ด์ง€ ํ”„๋กœํ•„ ์ˆ˜์ • ํŽ˜์ด์ง€

4) ํŒ๋งค ์ƒํ’ˆ

์ƒํ’ˆ ๋“ฑ๋ก ํŽ˜์ด์ง€ & ์ƒํ’ˆ ๋งํฌ ์ด๋™ ์ƒํ’ˆ ์ˆ˜์ • ํŽ˜์ด์ง€ ์ƒํ’ˆ ์‚ญ์ œ ํŽ˜์ด์ง€
์ƒํ’ˆ๋“ฑ๋ก ์ƒํ’ˆ ์ˆ˜์ • ์ƒํ’ˆ ์‚ญ์ œ

10. ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…(ํ•ต์‹ฌ ๋กœ์ง)

๐Ÿงท ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋ณด๋Ÿฌ ๊ฐ€๊ธฐ

1. Location Property

  • ๋ฌธ์ œ ์ƒํ™ฉ

    • ํ•˜๋‚˜์˜ htmlํŒŒ์ผ๊ณผ API๋กœ yourProfile, myProfile & ๋‚˜์˜ ํŒ”๋กœ์ž‰/ํŒ”๋กœ์›Œ ๋ฆฌ์ŠคํŠธ์™€ ๋‹ค๋ฅธ ์œ ์ €์˜ ํŒ”๋กœ์ž‰/ํŒ”๋กœ์›Œ ๋ฆฌ์ŠคํŠธ ๋™์‹œ์— ๊ตฌํ˜„ํ•ด์•ผ ํ•จ
    • following/follower ๋ฆฌ์ŠคํŠธ์—์„œ ํ”„๋กœํ•„๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ, ํ•ด๋‹น ์œ ์ €์— ๋งž๋Š” yourProfile์„ ๋ณด์—ฌ์ค˜์•ผ ํ•จ
    • ํ† ํฐ์—์„œ๋Š” ์ƒ๋Œ€๋ฐฉ์˜ accountname์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ๊ณผ ํด๋ฆญ ํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์œ ์ €์˜ accountname๋งŒ์„ ์ •ํ™•ํ•˜๊ฒŒ ์ง‘์–ด๋‚ด์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ์Œ
  • ์›์ธ ์ถ”๋ก 

    • GET ์š”์ฒญ url๋’ค์— accountname์„ ๋„ฃ์–ด์ค˜์•ผ ํ•˜๋Š”๋ฐ, ๋‚˜์˜ ํ”„๋กœํ•„์€ ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์—์„œ getItem์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋˜์ง€๋งŒ ์ƒ๋Œ€๋ฐฉ ํ”„๋กœํ•„ accountname์„ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ–ˆ์Œ
  • ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

    • Location (ํ˜„์žฌ URL) Property ์ค‘์—์„œ query string์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” search string์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐ
    • search string์€ url์—์„œ ? ๋ฅผ ํฌํ•จํ•œ ๋’ท๋ถ€๋ถ„์„ string ํ˜•์‹์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ์—ญํ• 

    ์‹ค์ œ ์ ์šฉ ์ฝ”๋“œ)

    followingList.html์—์„œ ์œ ์ €๋ฅผ ์„ ํƒํ•  ๋•Œ ๋„˜์–ด๊ฐ€๋Š” aํƒœ๊ทธ์˜ href ์ฃผ์†Œ๋ฅผ ?accountname=์œ ์ €์˜ accountname ๋ถ™์—ฌ์„œ ๋ณด๋ƒ„

    link.setAttribute(
          'href',
          '../pages/myProfile.html?accountname=' + resJson[i].accountname
        );

ํ”„๋กœํ•„ html๋กœ ๋„˜์–ด์™€์„œ ์ƒ๋Œ€๋ฐฉ์˜ accountname์„ location.search๋กœ ๋ณ€์ˆ˜์— ๋‹ด์•„ ์‚ฌ์šฉ

image

๋‚ด ๊ณ„์ •์ผ ๊ฒฝ์šฐ์—๋Š” ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์—์„œ, ์ƒ๋Œ€๋ฐฉ ํ”„๋กœํ•„์ด๋ฉด url์„ query string๊ฐ’์ด accountname์— ๋“ค์–ด๊ฐ€๊ฒŒ ์ฒ˜๋ฆฌ

  1. location.searchโ‡’ ?accountname=์œ ์ €์•„์ด๋””

  2. location.search.replace(โ€™?โ€™,โ€™โ€™) โ‡’ accountname=์œ ์ €์•„์ด๋””

  3. location.search.replace(โ€™?โ€™,โ€™โ€™).split(โ€™=โ€™) โ‡’ ['accountname', '์œ ์ €์•„์ด๋””']

๐Ÿ“Œ userInfo.js (ํ”„๋กœํ•„ ์ƒ๋‹จ, ์œ ์ € ์ •๋ณด API GET ์š”์ฒญ ์ฝ”๋“œ)

    const myAccountname = `${window.localStorage.getItem('accountname')}`;
    const yourAccountname = location.search.replace('?', '').split('=')[1];
    const accountname = yourAccountname ? yourAccountname : myAccountname;
    //ํ”„๋กœํ•„ ์ •๋ณด ๋ณด์—ฌ์ฃผ๊ธฐ
    async function infoUser() {
      try {
        const res = await fetch(url + '/profile/' + accountname, {
          method: 'GET',
      
          ..์ƒ๋žต..}
    }

๋ผ์šฐํŒ… ์˜ˆ์™ธ์ฒ˜๋ฆฌ์—๋„ ์‚ฌ์šฉ

  • ๋งˆ์ดํ”„๋กœํ•„๋กœ/์œ ์–ดํ”„๋กœํ•„๊ณผ ํŒ”๋กœ์ž‰/ํŒ”๋กœ์›Œ๊ฐ€ ์„œ๋กœ ๊ฐ™์€ html ํŒŒ์ผ์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์–ด, 404 ์—๋Ÿฌ๋ฅผ ๋งŽ์ด ๊ฒช๊ฒŒ ๋จ
  • JS์—์„œ ํ”ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋’ค๋กœ๊ฐ€๊ธฐ์ธ window.history.back() ๋˜๋Š” window.history.go(-1)๋งŒ ์ผ์„ ๋•Œ ์—๋Ÿฌ ๋ฐœ์ƒ
  • Location Porperty๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋กœ Error ํ•ด๊ฒฐ

์ด์ „ ์ฝ”๋“œ)

const btnBack = document.querySelector('.btnBack');
btnBack.addEventListener('click', () => {
  location.href = window.history.back();
});
  • location pathname: ์œ„์น˜์— ๋Œ€ํ•œ URL์˜ ๊ฒฝ๋กœ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด
  • ์‚ฌ์šฉ ์˜๋„: html ํŒŒ์ผ๋ช…์„ ๋ฝ‘์•„์„œ ์กฐ๊ฑด์‹์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด

ํ•ด๊ฒฐ ์ฝ”๋“œ)

const locationPath = location.pathname.split('.')[0].split('/')[3]; 
const btnBack = document.querySelector('.btnBack');
btnBack.addEventListener('click', () => {
  if (accountname == yourAccountname) {
    location.href = `../pages/${locationPath}.html?accountname=${yourAccountname}`;
  } else if (accountname == myAccountname) {
    location.href = `../pages/${locationPath}.html`;
  }else {
  location.href = window.history.back();
  }
});

bradley์˜ ํŒ”๋กœ์ž‰ ๋ชฉ๋ก์—์„œ bradley์˜ ํ”„๋กœํ•„๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋™

image

image

11. ์ŠคํŽ˜์…œ ํฌ์ธํŠธ

  • ํŒ€์›๋“ค๊ณผ ๊ฐ€๊นŒ์šด ๊ฑฐ๋ฆฌ์— ๊ฑฐ์ฃผํ•˜์—ฌ, ๋ฌผ๋ฆฌ์  ํ—ˆ๋“ค์ด ์—†๋‹ค๋Š” ์žฅ์ ์„ ํ†ตํ•ด ์ตœ์†Œ ์ฃผ 2ํšŒ ์˜คํ”„๋ผ์ธ ๋งŒ๋‚จ์„ ํ†ตํ•ด ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ ๋น„์šฉ ์ ˆ๊ฐ
  • ํŒ€์› ๊ฐ„ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ๋Œ€๋ฉด์„ ํ†ตํ•œ ์†”์งํ•œ ๋Œ€ํ™”๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ํ•ด๊ฒฐํ•˜์—ฌ ์‹œ๊ฐ„ ์ ˆ์•ฝ
  • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ๊ณผ ๋ฐฐํฌ ํŽ˜์ด์ง€๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ์‹œ์Šคํ…œ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ธฐ๋Šฅ๋“ค์„ ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„
  • ์••๋„์ ์ธ ์ปค๋ฐ‹ ์ˆ˜ (over 760 commits)

12. ๊ณ ์ƒ๋‹ด

  • API์™€ ๋น„๋™๊ธฐ๋กœ ํ†ต์‹ ํ•˜๋Š” ๋กœ์ง์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์–ด๋ ค์›€
  • ํŒ€์› ์ ˆ๋ฐ˜์ด ์ค‘๊ฐ„์— ์ฝ”๋กœ๋‚˜์— ๊ฑธ๋ฆฐ ๊ฑด๊ฐ• ์ด์Šˆ
  • ์ดˆ๋ฐ˜์— ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜์ด ํ˜ผ์žฌ๋˜์–ด ์‚ฌ์šฉ๋œ ์ด์Šˆ

13. ๋ ˆ์Šจ๋Ÿฐ

Team Operation

Tech Operation

  • ์ž˜ ์ดํ–‰๋œ ๋ถ€๋ถ„
    • ๊ฐ„๋‹จํ•œ CI/CD action ๊ธฐ๋Šฅ์œผ๋กœ ์ž๋™ ๋ฐฐํฌ ์ˆ˜ํ–‰ ๋ฐ ๊ฐœ๋… ์ดํ•ด
    • API ๋ช…์„ธ์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ๋ฏธ๋ฆฌ ํŒŒ์•…ํ•ด ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ์›ํ™œํ•˜๊ฒŒ ์œ ์ง€
    • ๋น„๋™๊ธฐ ์ž‘์—…์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ†ตํ•ด ์œ ์—ฐํ•˜๊ฒŒ ์ด๋ฒคํŠธ๋ฅผ ๋™์ž‘
    • ํด๋” ๊ตฌ์กฐ๋ฅผ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด ํŒŒ์ผ ๊ฒฝ๋กœ ๋ฌธ์ œ ์ œ๊ฑฐ
    • ์‹œ์ž‘ ์ „ git branch ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํ†ตํ•ด branch ๊ตฌ์ฒด์ ์œผ๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์—๋Ÿฌ ๋ฐฉ์ง€
    • ํŒ€์› ๊ฐ„ ํŽ˜์ด์ง€ ๋ณ„๋กœ ์ž‘์—… ์ง„ํ–‰ํ•˜์—ฌ ์ถฉ๋Œ ์ตœ์†Œํ™”
    • ์žฌ์‚ฌ์šฉ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ javaScript ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด ๋ชจ๋“ˆํ™” ๋ฆฌํŒฉํ† ๋ง ๋‹จ๊ณ„๋ฅผ ์œ„ํ•œ ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จ
  • ๊ฐœ์„  ๋ฐ ํ•™์Šตํ•œ ๋ถ€๋ถ„
    • ๊ธฐ๋Šฅ ๋ณต์žก๋„๊ฐ€ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜๋ก javaScript ๊ธฐ๋Šฅ๋ณ„๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌ
      • ํŒŒ์ผ์„ ๊ธฐ๋Šฅ๋ณ„๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ๋ผ์šฐํŒ… ์ฃผ์†Œ ๋ณ€๊ฒฝ
    • MVC ํŒจํ„ด์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์—ฌ ๋ชจ๋“ˆํ™” ํŒจํ„ด์— ๋งž์ถ”์–ด ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ณ๋ฅผ ๊ตฌํ˜„
      • ์ถ”์ƒํ™” ๋‹จ๊ณ„์— ๋”ฐ๋ผ ํ•จ์ˆ˜๋ฅผ ๋ถ„๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ๋ณ„ ๋ชจ๋“ˆํ™” ์ž‘์—…

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •