Skip to content

yeojinj/stackers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฅ‰ ๐ŸชStackers - ์ˆํผ ํ•ฉ์ฃผ ์˜์ƒ SNS๐Ÿช

โ… . ์„œ๋น„์Šค ์†Œ๊ฐœ


์ง„ํ–‰ ๊ธฐ๊ฐ„

: 2023/01/09 ~ 2023/02/17 (39์ผ)



๊ฐœ์š”

  • ํ•œ์ค„ ์†Œ๊ฐœ : ์ˆํผ์„ ํ™œ์šฉํ•œ ํ•ฉ์ฃผ ์†Œ์…œ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค

  • ์„œ๋น„์Šค ๋ช… : Stackers

  • ๋ฐฐํฌ ์‚ฌ์ดํŠธ : https://www.stackers.site



ํƒ€๊ฒŸ์ธต

  • ์Œ์•…์— ๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค

  • ์ˆํผ SNS๋ฅผ ์ฆ๊ธฐ๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค

  • ์‹œ๊ณต๊ฐ„์˜ ์ œ์•ฝ๊ณผ ๋†’์€ ์ง„์ž…์žฅ๋ฒฝ์œผ๋กœ ์ธํ•ด ํ•ฉ์ฃผ๊ฐ€ ์–ด๋ ค์šด ์‚ฌ๋žŒ๋“ค

  • ๋‹ค์–‘ํ•œ ์•…๊ธฐ๋“ค์˜ ์ •๋ณด๋‚˜ ์˜์ƒ์„ ์ ‘ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค

  • ๊ฐ„๋‹จํ•œ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์€ ๋ฎค์ง€์…˜๋“ค



๊ธฐํš ๋ฐฐ๊ฒฝ

  • ๋ฐฐ๊ฒฝ

    ์ถค์ถ”๊ณ , ์—ฐ์ฃผํ•˜๊ณ , ๋…ธ๋ž˜๋ฅผ ๋ถ€๋ฅด๋ฉฐ ์‚ฌ๋žŒ๋“ค์€ ์Œ์•…์„ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฆ๊ธฐ๊ณ  ํ‘œํ˜„ํ•œ

    ๋‹ค. ์Œ์•…์€ ์ธ๋ฅ˜์˜ ๋งŒ๊ตญ ๊ณตํ†ต์–ด๋ผ๊ณ  ํ–ˆ๋˜๊ฐ€, ์–ด๋””์„œ๋‚˜ ์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ๊ณ  ๊นŠ์€ ์‚ฌ์ „์ง€์‹์ด

    ์—†์–ด๋„ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์Œ์•…์— ํฅ๋ฏธ๋ฅผ ๋ณด์ด๊ณ  ์ทจ๋ฏธ๋กœ ์‚ผ๊ณ ์žˆ์Œ์—๋„

    ๋ง‰์ƒ ๊ทธ๊ฒƒ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ฐฝ๊ตฌ๊ฐ€ ๋ณ„๋กœ ์—†๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

    ์Œ์•…์€ ํ˜ผ์ž์„œ๋„ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋Š” ์˜ˆ์ˆ ์ด์ง€๋งŒ, ์˜ˆ์ˆ ์ด๋ž€ ๊ฒƒ์€ ๊ฒฐ๊ตญ ๋ˆ„๊ตฐ๊ฐ€ ํ•จ๊ป˜ ํ•ด์ฃผ์ง€ ์•Š๋Š”

    ๋‹ค๋ฉด ํฐ ์˜๋ฏธ๋ฅผ ๊ฐ–์ง€ ๋ชปํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ํ•จ๊ป˜ ์Œ์•…์„ ํ•˜๊ณ ์‹ถ์–ดํ•ด๋„ ๋ฐ”์œ ํ˜„๋Œ€ ์‚ฌํšŒ

    ์— ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„์„ ๋ˆ„๊ตฐ๊ฐ€์™€ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์€ ํฐ ๋ฆฌ์Šคํฌ๋กœ ๋‹ค๊ฐ€์˜ค๊ฒŒ๋œ๋‹ค. ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„

    ํ•œ ํ”„๋กœ๊ทธ๋žจ์€ ์กด์žฌํ–ˆ๋‹ค.

    • ๊ณต๊ฐ„์˜ ์ œ์•ฝ์„ ๊ทน๋ณตํ•œ ์‹ฑํฌ๋ฃธ

    • ์‹œ๊ฐ„์˜ ์ œ์•ฝ์„ ๊ทน๋ณตํ•œ ์ž๋ฎฌ๋Ÿฌ์Šค

    ํ•˜์ง€๋งŒ ๊ฒฐ๊ตญ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•ด์•ผ ํ•˜๊ธฐ๋„ ํ•˜๊ณ , ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์žฅ๋น„๊ฐ€

    ํ•„์š”ํ•˜๋Š” ๋“ฑ์˜ ์ „๋ฌธ์„ฑ์„ ์š”๊ตฌํ•ด ์ง„์ž…์žฅ๋ฒฝ์ด ๋†’๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ–ˆ๋‹ค. ๋˜ํ•œ ์ผ์ • ์ˆ˜์ค€

    ์ด์ƒ์˜ ์‹ค๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด ์‚ฌ๋žŒ๋“ค์„ ๋ชจ์œผ๊ธฐ ์–ด๋ ค์šด ๊ฒƒ์€ ๋‹น์—ฐ์ง€์‚ฌ๋‹ค.

    ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฐ ์‹œ๊ณต๊ฐ„์˜ ์ œ์•ฝ์„ ๊ทน๋ณตํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค์ด ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์Œ์•…

    ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.

  • ๋ชฉ์ 

    Stackers ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด,

    • ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค์ด ๋‹ค์–‘ํ•œ ๋…ธ๋ž˜/์•…๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์‰ฝ๊ฒŒ ์Œ์•…์— ์ ‘๊ทผ

    • ์›น์บ ์„ ์‚ฌ์šฉํ•ด ์†์‰ฝ๊ฒŒ ์Œ์•…์„ ํ‘œํ˜„ํ•˜๊ณ  ์ฆ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ ํ•จ

    • ์Œ์•…์„ ์ฆ๊ธฐ๋Š” ์‚ฌ๋žŒ๋“ค์˜ ๋งŒ๋‚จ์˜ ์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•จ

    • ์งง์€ ์—ฐ์Šต๋งŒ์œผ๋กœ๋„ ์ž์œ ๋กญ๊ฒŒ ํ•ฉ์ฃผ ์ฐธ๊ฐ€

    • ๋ฎค์ง€์…˜๋“ค์˜ ์ž๊ธฐPR

    • ์ผ๋ฐ˜์ธ๋“ค๊ณผ ๋ฎค์ง€์…˜์˜ ํ•ฉ์ฃผ ๊ฐ€๋Šฅ



์ฃผ์š” ๊ธฐ๋Šฅ

  • ์Šคํƒ Stack

    : ์˜์ƒ์„ ์Œ“๋Š” ๊ณผ์ •

  • ์Šคํ…Œ์ด์…˜ Station

    : Stack์œผ๋กœ ์ธํ•ด ์ œ์ž‘๋œ ์˜์ƒ

  • ์Šคํƒœ์ปค Stacker

    : ์˜์ƒ์„ ์Œ“๋Š” ์‚ฌ๋žŒ๋“ค

  • ๋ฉ”์ธ ๋ฃธ

    • ์ด๋ฏธ ์™„์„ฑ๋œ ์Šคํ…Œ์ด์…˜๊ณผ ๋ฏธ์™„์„ฑ๋œ ์Šคํ…Œ์ด์…˜์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”

    • ์ธ๊ธฐ์žˆ๋Š” ์Šคํ…Œ์ด์…˜ ์ˆœ์œ„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”

    • ํ˜„์žฌ ํŒ”๋กœ์ž‰ํ•˜๋Š” ์Šคํƒœ์ปค์˜ ์Šคํ…Œ์ด์…˜์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”

  • ๋ ˆ์ฝ”๋“œ ๋ฃธ

    • ์ฒซ ์Šคํƒ์œผ๋กœ ์Šคํ…Œ์ด์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด์š”

    • ๋งˆ์Œ์— ๋“œ๋Š” ๋‹ค๋ฅธ ์Šคํƒœ์ปค์˜ ์Šคํ…Œ์ด์…˜์— ์ž์‹ ์˜ ์—ฐ์ฃผ ์Œ“์„ ์ˆ˜ ์žˆ์–ด์š”

    • ๋…นํ™”ํ•œ ์Šคํ…Œ์ด์…˜์„ ์—…๋กœ๋“œ ์ „์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ธฐ์ž…ํ•  ์ˆ˜ ์žˆ์–ด์š”

  • ์Šคํ…Œ์ด์…˜ ๋ฃธ

    • ์Šคํ…Œ์ด์…˜๊ณผ ์Šคํ…Œ์ด์…˜ ์„ค๋ช…, ์ด ์Šคํ…Œ์ด์…˜์— ์ฐธ์—ฌํ•œ ์‚ฌ๋žŒ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”

    • ์Šคํ…Œ์ด์…˜์— ๋‚˜์˜ ๋ฐ˜์‘์„ ์ข‹์•„์š”์™€ ๋Œ“๊ธ€๋กœ ํ‘œํ˜„ํ•ด๋ณด์•„์š”

    • ์Šคํƒœ์ปค์˜ ์Šคํ…Œ์ด์…˜๋“ค์ด ๋งˆ์Œ์— ๋“ ๋‹ค๋ฉด ์Šคํƒœ์ปค๋ฅผ ํŒ”๋กœ์šฐํ•  ์ˆ˜ ์žˆ์–ด์š”

  • ์Šคํƒœ์ปค ๋ฃธ

    • ์•Œ๋ฆฌ๊ณ  ์‹ถ์€ ๋‚˜์˜ ์ •๋ณด, ์—ฐ์ฃผ ์•…๊ธฐ, ์†Œ์†๊ทธ๋ฃน์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์–ด์š”

    • ๋ฉ‹์ง„ ์—ฐ์ฃผ ์‚ฌ์ง„์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋‚˜๋งŒ์˜ ํ”„๋กœํ•„์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”

    • ๋‚ด๊ฐ€ ์Œ“์€ ๊ณต๊ฐœ/๋น„๊ณต๊ฐœ ์Šคํ…Œ์ด์…˜์„ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”

    • ์Šคํƒœ์ปค๊ฐ€ ์Œ“์€ ๊ณต๊ฐœ ์Šคํ…Œ์ด์…˜์„ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”

  • ๊ฒ€์ƒ‰

    • ์Šคํ…Œ์ด์…˜ ์„ค๋ช…, ์Šคํ…Œ์ด์…˜ ๊ณก ์ •๋ณด, ์Šคํƒœ์ปค ์•„์ด๋””, ๋‹‰๋„ค์ž„์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด์š”

    • ์Œ“๊ณ  ์‹ถ์€ ์Šคํ…Œ์ด์…˜์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์Šคํƒ์„ ์Œ“์•„๋ณด์„ธ์š”!





โ…ก. ๊ธฐ์ˆ  ์Šคํƒ


์•„ํ‚คํ…์ณ ๊ตฌ์กฐ๋„



Backend

  • IntelliJ IDEA : v 2022.2.3

  • Java SE Development Kit: v 17

  • Postman : v10.9.4

  • Spring Boot : v3.0.2

  • Spring Security : v3.0.2

  • JWT : v0.11.5

  • JPA : v3.0.2

  • MariaDB : v10.10.2

  • Redis : v7.0.8

  • S3 : v2.2.6

  • Swagger : v2.0.2

  • ffmpeg (๋™์˜์ƒ, ์ด๋ฏธ์ง€ ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ) : v0.7.0



Frontend

  • npm : v 8.19.2

  • Node.js : v 16.18.0

  • React : v 18.2.0 (์ž๋™์œผ๋กœ ์ตœ์‹ ๋ฒ„์ „ ๋‹ค์šด)

    • react-media-recorder (๋น„๋””์˜ค ๋…นํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

    • react-dropzone (ํŒŒ์ผ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

    • react-router-dom (๋ฆฌ์•กํŠธ ๋ผ์šฐํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

    • react-redux (๋ฆฌ์•กํŠธ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

    • moment (ํŒŒ์ผ ์ €์žฅ ์‹œ๊ฐ„ ์ •๋ณด ์„ธํŒ…์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)

  • VSCode : v 1.74.3

  • MUI



CI/CD

  • AWS EC2

  • AWS S3

  • NGINX

  • Docker

  • GitLab



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

Back

backend/
โ”œโ”€ .gradle/
โ”œโ”€ .idea/
โ”‚  โ”œโ”€ favicon.ico
โ”‚  โ”œโ”€ index.html
โ”‚  โ”œโ”€ manifest.json
โ”‚  โ”œโ”€ robots.txt
โ”œโ”€ build/
โ”œโ”€ gadle/
โ”œโ”€ src/
โ”‚  โ”œโ”€ main/
โ”‚  โ”‚  โ”œโ”€ java/
โ”‚  โ”‚  โ”‚  โ”œโ”€ com.ssafy.stackers/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ auth/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ config/
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€jwt/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ controller/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ exception/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ handler/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ model/
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€dto/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ repository/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ service/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ utils/
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€error/
โ”‚  โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€S3Uploader.java
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ StackersApplication
โ”‚  โ”‚  โ”œโ”€ resources/
โ”‚  โ”œโ”€ test/
โ”‚  โ”‚  โ”œโ”€ java/
โ”‚  โ”‚  โ”‚  โ”œโ”€ com.ssafy.stackers/
โ”‚  โ”‚  โ”‚  โ”‚  โ”œโ”€ StackersApplicationTests.java
โ”œโ”€ .gitignore
โ”œโ”€ build.gradle
โ”œโ”€ gradlew.bat
โ”œโ”€settings.gradle



Front

frontend/
โ”œโ”€ node_modules/
โ”œโ”€ public/
โ”‚  โ”œโ”€ favicon.ico
โ”‚  โ”œโ”€ index.html
โ”‚  โ”œโ”€ manifest.json
โ”‚  โ”œโ”€ robots.txt
โ”œโ”€ src/
โ”‚  โ”œโ”€ assets/
โ”‚  โ”œโ”€ components/
โ”‚  โ”‚  โ”œโ”€ account/
โ”‚  โ”‚  โ”œโ”€ station/
โ”‚  โ”œโ”€ pages/
โ”‚  โ”‚  โ”œโ”€ main_room/
โ”‚  โ”‚  โ”œโ”€ my_page/
โ”‚  โ”‚  โ”œโ”€ profile_edit/
โ”‚  โ”‚  โ”œโ”€ record_room/
โ”‚  โ”‚  โ”œโ”€ searchview/
โ”‚  โ”‚  โ”œโ”€ sign_folder/
โ”‚  โ”‚  โ”‚  โ”œโ”€ LogIn/
โ”‚  โ”‚  โ”‚  โ”œโ”€ SignUp/
โ”‚  โ”‚  โ”œโ”€ station_room/
โ”‚  โ”‚  โ”‚  โ”œโ”€ article/
โ”‚  โ”‚  โ”‚  โ”œโ”€ assets/
โ”‚  โ”‚  โ”‚  โ”œโ”€ comment/
โ”‚  โ”‚  โ”‚  โ”œโ”€ stationview/
โ”‚  โ”œโ”€ App.js
โ”‚  โ”œโ”€ App.test.js
โ”‚  โ”œโ”€ index.css
โ”‚  โ”œโ”€ index.js
โ”‚  โ”œโ”€ logo.svg
โ”‚  โ”œโ”€ reportWebVitals.js
โ”‚  โ”œโ”€ router.js
โ”‚  โ”œโ”€ setupProxy.js
โ”‚  โ”œโ”€ setupTests.js
โ”‚  โ”œโ”€ store.js
โ”œโ”€ .gitignore
โ”œโ”€ package-lock.json
โ”œโ”€ package.json
โ”œโ”€ README.md



ํ˜‘์—… ํˆด, ๊ทœ์น™

  • Git

    Git Branch

    master(main)
    
    develop
    
    feature
    

    feature ๋ธŒ๋žœ์น˜ ์ž‘์„ฑ

    • ์ „์ฒด ์˜์–ด ์†Œ๋ฌธ์ž๋กœ

    • ์˜ˆ์‹œ)

      • feature/back/login

      • feature/back/settings

      • feature/front/signup

      • feature/front/main-list

    MR ์š”์ฒญ์‹œ back-end, front-end ๋ณ„๋กœ MR ์š”์ฒญํ•œ ๋ณธ์ธ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ํŒ€์›์ด ์ฝ”๋“œ ํ™•์ธ ํ›„ MR ์ง„ํ–‰

  • Notion

    ํšŒ์˜๋ก

    • Scrum meeting : ํŠน์ด์‚ฌํ•ญ ์žˆ์„ ๊ฒฝ์šฐ ์ž‘์„ฑ

    • General meeting : ํšŒ์˜ ์ฃผ์š” ์•ˆ๊ฑด, ๊ฒฐ๊ณผ, ํ”ผ๋“œ๋ฐฑ ๊ธฐ๋ก

    • Weekend meeting : ์ฃผ๋ง์— ํšŒ์˜ ์‹œ ๊ธฐ๋ก

    ๊ธฐ๋Šฅ ๋ช…์„ธ ๋ฐ ์šฐ์„ ์ˆœ์œ„

    • ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š” ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ ํ‘œ

    ํ™”๋ฉด ์„ค๊ณ„

    • ํ™”๋ฉด ์„ค๊ณ„๋„

    • ์™€์ด์–ดํ”„๋ ˆ์ž„

    ๋ ˆํผ๋Ÿฐ์Šค ์ •๋ฆฌ

    ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๋ฐœ์ž์ทจ ๋ฐ ์˜ค๋ฅ˜ ๋กœ๊น…

    ํŒ€ ๊ทœ์น™

    ์ปจ๋ฒค์…˜

    ๊ฐœ๋ฐœ ์ง„์ฒ™๋„ ๊ณต์œ 

  • JIRA

    • ๋งค์ฃผ ์›”~๊ธˆ์š”์ผ์— ์ง„ํ–‰ํ•  Task ๋“ฑ๋ก ํ›„ Sprint ์‹œ์ž‘

    • Epic, Story, Task ๋‹จ์œ„

      • Epic

        • ๊ธฐํš, ์„ค๊ณ„, FE ๊ฐœ๋ฐœ, BE ๊ฐœ๋ฐœ, ๋ฐฐํฌ, TEST, ๋ฐœํ‘œ
      • Story

        • ๋ช…์„ธ์„œ ๊ธฐ๋Šฅ(์‚ฌ์šฉ์ž๊ฐ€ ์“ฐ๋Š” ๊ธฐ๋Šฅ ๋‹จ์œ„)์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑ
        • ๋ช…์‚ฌํ˜•
      • Task

        • Task๋Š” ์ตœ๋Œ€ํ•œ ์ƒ์„ธํ•˜๊ฒŒ ์ชผ๊ฐœ์–ด์„œ ์ž‘์„ฑํ•  ๊ฒƒ

        • ์ด๋ฆ„์€ [ BE , FE ] ๋ฅผ ์•ž์— ๋ถ™์—ฌ์„œ ๋ช…์‚ฌํ˜•์œผ๋กœ ์ž‘์„ฑํ•˜๊ณ  ์„ค๋ช…์€ ์„ ํƒ์ ์œผ๋กœ ๋™์‚ฌํ˜•์œผ๋กœ ์ž‘์„ฑํ•  ๊ฒƒ

          ex) [BE] ์œ ์ € ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ถ”๊ฐ€

  • MatterMost

    • ๊ณต์ง€

    • ๋ณ€๋™์‚ฌํ•ญ

    • ์ •๋ณด ๊ณต์œ 

    • Gitlab ์—ฐ๋™ ์•Œ๋ฆผ

  • Discord

    • ๊ณต์ง€

    • ๋น„๋Œ€๋ฉด ํšŒ์˜

      • ์ „์ฒด ํšŒ์˜

      • front-end ํšŒ์˜

      • back-end ํšŒ์˜

    • ์ •๋ณด ๊ณต์œ 

    • front-end ์ •๋ณด ๊ณต์œ 

    • back-end ์ •๋ณด ๊ณต์œ 



์—ญํ• 



๊ธฐ๋Šฅ ๋ช…์„ธ์„œ



์™€์ด์–ดํ”„๋ ˆ์ž„



ERD

https://www.erdcloud.com/d/sRQQBLFuiSdbzekRN



๋ฐฐํฌ

  • exec ํด๋”์˜ ํฌํŒ…๋งค๋‰ด์–ผ ์ฐธ์กฐ





โ…ฃ. ํ”„๋กœ์ ํŠธ ๊ฒฐ๊ณผ


์‹ค์ œ ์„œ๋น„์Šค ํ™”๋ฉด

  • ๋ฉ”์ธ ๋ฃธ

  • ๋ ˆ์ฝ”๋“œ ๋ฃธ

  • ๊ฒ€์ƒ‰

  • ์Šคํ…Œ์ด์…˜ ๋ฃธ

  • ๋งˆ์ด ๋ฃธ



ํ˜‘์—…





โ…ค. ์†Œ๊ฐ ๋ฐ ๋ฐฐ์šด์ 


์ •์—ฌ์ง„

ํŒ€์žฅ, PM์œผ๋กœ์„œ ๋งŽ์€ ๊ฒฝํ—˜์„ ํ•˜๊ฒŒ ๋œ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. ffmpeg๋ฅผ ์‚ฌ์šฉํ•ด ๋™์˜์ƒ์„ ์„œ๋ฒ„์— ์ €์žฅํ•˜๊ณ  ๊ฐ€๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ˜‘์—…๋Šฅ๋ ฅ๋„ ํ‚ค์šธ ์ˆ˜ ์žˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์š”. PM์œผ๋กœ์„œ Jira๋ฅผ ์ด์šฉํ•œ ์ผ์ •๊ด€๋ฆฌ, ํŒ€์žฅ์œผ๋กœ์„œ ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์ ์ธ ์ด๊ด„๊ณผ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์ž˜ ๋”ฐ๋ผ์™€์ค€ ํŒ€์›๋“ค ๋„ˆ๋ฌด ๊ณ ๋ง™๊ณ , ๊ณ ์ƒ๋งŽ์•˜์Šต๋‹ˆ๋‹ค!

์ž„์„ธ์€

Stackers์˜ ๊ธฐํš๊ณผ ๊ฐœ๋ฐœ์„ ํ•จ๊ป˜ํ•˜๋ฉด์„œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ์ž…์ง€๋ฅผ ๋‹ค์งˆ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ์œ„์ฃผ๋กœ ํ•˜๋‹ค๊ฐ€ ์ฒซ๋ฒˆ์งธ ๋ฐฑ์—”๋“œ ๋ฐฐํฌ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋งŽ์€ ์ง€์‹์ด ๋ถ€์กฑํ•จ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๋งค์ฃผ ํ† ์š”์ผ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์Šคํ„ฐ๋””ํ•˜๋ฉฐ ์‹ค๋ ฅ์ด ํ‚ค์›Œ์กŒ๊ณ  ์•ž์œผ๋กœ ๋งˆ์ฃผํ•  ํ”„๋กœ์ ํŠธ๋“ค์ด ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ…ํ… ํŒ€์›๋“ค์—๊ฒŒ ๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. "๊ณ ์ƒํ–ˆ๊ณ  ์ž˜ ํ–ˆ๊ณ  ์ตœ๊ณ ์˜€๋‹ค~~~"

์•ˆ์ˆ˜๋นˆ

ํŒ€์›๋“ค๊ณผ ๊ธฐํš๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ตํ•œ ๊ฒฝํ—˜์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ณตํ†ต ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด์„œ ๊ฐœ๋ฐœ ์™ธ์˜ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์ œ ์„ ์ •๋ถ€ํ„ฐ ๊ธฐํš, ์ปจ๋ฒค์…˜ ์„ค์ •, Jira, Notion ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜‘์—…ํˆด, ๊ทธ๋ฆฌ๊ณ  Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ๊นŒ์ง€ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ๋งŒ ํ•ด๋ณด๋‹ค๊ฐ€ ๊ฐœ๋ฐœ ์™ธ์˜ ๊ฒƒ๋“ค์„ ์ง„ํ–‰ํ•˜๋‹ˆ ์–ด๋ ค์›€๊ณผ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ๋งŽ์•˜์ง€๋งŒ ์ด๋ฒˆ ๊ณผ์ •์„ ํ†ตํ•ด์„œ ๋งŽ์ด ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์„ฑ์žฅ์„ ํ•  ์ˆ˜ ์žˆ๋˜ ์†Œ์ค‘ํ•œ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด์ฐฝ๋ฏผ

์ œ๋Œ€๋กœ๋œ ๊ฐœ๋ฐœํ˜‘์—…์€ ์ฒ˜์Œ์ด๋ผ ๋ฐฐ์šฐ๋Š”๊ฒŒ ๋งŽ์€ ์‹œ๊ฐ„์ด์˜€์Šต๋‹ˆ๋‹ค.
ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์ฝ”๋”ฉ ์‹ค๋ ฅ์ด ๋›ฐ์–ด๋‚˜๋”๋ผ๋„ ์ž˜ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ๋Š”๊ฑธ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์ „์ฒด์ ์ธ ํ‹€, ๋””์ž์ธ์€ UI/UX๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฒƒ์„ ๋А๊ผˆ๊ณ , ๊ธฐํš์€ ์ •๋ง ์„ธ์„ธํ•˜๊ฒŒ ์งœ๊ณ , ์‹œ์ž‘ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ๊ณผ์ •์—์„œ ๋„ˆ๋ฌด ์–ด๋ ต๊ณ  ํž˜๋“ค์—ˆ์ง€๋งŒ, ํ•จ๊ป˜ ํ•ด์ค€ ํŒ€์›๋“ค๋•๋ถ„์— ๋๊ฐ€์ง€ ์ž˜ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ…ํ…๊ณผ ํ•จ๊ป˜์—ฌ์„œ ์žฌ๋ฐŒ์—ˆ๊ณ , ๋งŽ์ด ๋ฐฐ์šฐ๋Š” ์‹œ๊ฐ„์ด์˜€์Šต๋‹ˆ๋‹ค.

์ตœ๋ณด์˜

39์ผ๊ฐ„์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋งŽ์€ ๊ฒƒ๋“ค์„ ์–ป๊ณ  ๊ฐ€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ํ˜‘์—…๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ๋””์ž์ธ ๋Šฅ๋ ฅ์—์„œ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ˜‘์—…ํˆด์ธ Jira, Notion, Figma๋ฅผ ์ด๋ฒˆ ๊ธฐํšŒ์— ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ ์ž‘์„ฑ, ์ •๋ฆฌ ๋‹ด๋‹น์œผ๋กœ์„œ ํŒ€์›๋“ค์—๊ฒŒ ๋„์›€์ด ๋œ ๊ฒƒ์ด ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š” React ํ”„๋ ˆ์ž„์›Œํฌ๋„ ๊ฐ™์ด ๊ณต๋ถ€ํ•˜๊ณ  ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์€ ์„œ๋กœ ๋„์™€์ฃผ๋ฉฐ ๊ฐœ๋ฐœํ•ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋Šฅ๋ ฅ์ž์ธ ํŒ€์›๋“ค์„ ๋ณด๋ฉฐ ์ €์˜ ์—ด์ •๋„ ํƒ€์˜ฌ๋ž๊ณ  ํŒ€ ๋ถ„์œ„๊ธฐ๊ฐ€ ์ •๋ง ์ข‹์•„์„œ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ์—ด์ •์ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ํฉ์–ด์ง„๋‹ค๋Š”๊ฒŒ ์•„์‰ฌ์šธ ์ •๋„์ž…๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ ์งง์€ ์‹œ๊ฐ„๋™์•ˆ ์ •๋ง ํ•˜๋‚˜์˜ ํŒ€์ธ ๋œ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ํ•จ๊ป˜ํ•ด์ค€ ํŒ€์›๋“ค ๋ชจ๋‘ ๊ณ ๋งˆ์› ๊ณ  ๊ฐ์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์ง€์›

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊นƒ์ด๋‚˜ ์ง€๋ผ๋“ฑ ํ˜‘์—…ํˆด ์‚ฌ์šฉ์— ์ต์ˆ™ํ•ด ์งˆ ์ˆ˜ ์žˆ์—ˆ๊ณ  ์ปจ๋ฒค์…˜์ด๋‚˜ ์ƒํ™ฉ๋ณด๊ณ  ๋“ฑ, ํ˜‘์—…๋ฐฉ์‹์— ๋Œ€ํ•ด ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜ผ์ž๋ผ๋ฉด ์—„๋‘๋„ ๋ชป๋‚ผ ํ”„๋กœ์ ํŠธ์˜€์ง€๋งŒ ํ•จ๊ป˜ ์ œ๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ฃผ์ œ๋ฅผ ๊ตฌํ˜„ํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์€ ์ •๋ง ์ฆ๊ฑฐ์› ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ„๊ธฐ๋กœ ๋ฆฌ์•กํŠธ ๋ผ์ดํ”„ ์‚ฌ์ดํด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ, ๋™๊ธฐ ๋ฐฉ์‹์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๊ณ  ์ตํž ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ž์˜ ์—ญํ• ์— ์ถฉ์‹คํ•˜๋ฉฐ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์€ ์„œ๋กœ ๋ณด์™„ํ•˜๋ฉฐ ํ˜‘์—…์˜ ์žฅ์ ์„ ํ†กํ†กํžˆ ๋А๋‚„ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์ƒํ•œ ํŒ€์›๋“ค์—๊ฒŒ ๋ชจ๋‘ ๊ณ ๋ง™๋‹ค๋Š” ๋ง์„ ์ „ํ•˜๊ณ  ์‹ถ๊ณ  ํ•จ๊ป˜ ์—ด์‹ฌํžˆ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹จ ์‚ฌ์‹ค์ด ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

About

๐ŸชEnsemble SNS for Short-form Video๐Ÿช

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published