Skip to content

Latest commit

ย 

History

History
75 lines (57 loc) ยท 2.19 KB

File metadata and controls

75 lines (57 loc) ยท 2.19 KB

TellingMe

๋‚˜๋ฅผ ๊นจ๋‹ซ๋Š” ์‹œ๊ฐ„, ํ…”๋ง๋ฏธ ๐Ÿ’š
TellingMe๋Š” ๋ฐ”์œ ํ˜„๋Œ€์ธ๋“ค์ด ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ, ์Šค์Šค๋กœ๋ฅผ ๋Œ์•„๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ฐ์„ฑ ๊ธฐ๋ฐ˜ ์ž๊ธฐ ํƒ์ƒ‰ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
๋งค์ผ ์ €๋… 6์‹œ, ํ…”๋ง๋ฏธ๋Š” ์ƒˆ๋กœ์šด ์งˆ๋ฌธ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ทธ๋‚ ์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋ฉฐ ์ž์‹ ์˜ ๊ฐ์ •์„ ๊ธฐ๋กํ•˜๊ณ , ๋‚˜๋งŒ์˜ ๊ณต๊ฐ„์—์„œ ์ผ์ƒ์˜ ๊ฐ์ •์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿš€ Features

โœ… v1 ๊ธฐ๋Šฅ (์ž๊ธฐ ํƒ์ƒ‰ ๋ฐ ๊ฐ์ • ๊ธฐ๋ก)

  • ๐Ÿ“ฎ ์˜ค๋Š˜์˜ ์งˆ๋ฌธ: ๋งค์ผ 18์‹œ์— ์ƒˆ๋กœ์šด ์งˆ๋ฌธ ์ „์†ก
  • ๐Ÿง  ๊ฐ์ • ๋ถ„์„: ๋‹ต๋ณ€ ๊ธฐ๋ฐ˜ ๊ฐ์ • ์ธ์‹ ๋ฐ ํžˆ์Šคํ† ๋ฆฌ ํ™•์ธ
  • ๐Ÿ““ ๋‚˜์˜ ๊ณต๊ฐ„: ๊ฐœ์ธ ๋‹ต๋ณ€ ๊ธฐ๋ก ๋ฐ ์ •๋ฆฌ
  • ๐Ÿซ‚ ๋ชจ๋‘์˜ ๊ณต๊ฐ„: ๊ฐ์ • ๊ณต์œ ๋ฅผ ํ†ตํ•œ ๊ณต๊ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ

๐Ÿ†• v2 ๊ธฐ๋Šฅ (UX ํ–ฅ์ƒ ๋ฐ ์ธ์•ฑ ๊ฒฐ์ œ ์‹œ์Šคํ…œ)

  • ๐Ÿƒ ํ…”๋Ÿฌ์นด๋“œ ์ƒ์„ฑ ๋ฐ ๊พธ๋ฏธ๊ธฐ
  • ๐Ÿง€ ์น˜์ฆˆ(Cheese) ๊ฒฐ์ œ ์‹œ์Šคํ…œ
  • ๐Ÿ’ฌ ๊ฐ์ • ๊ตฌ๋งค ๊ธฐ๋Šฅ
  • ๐ŸŽฏ ๋ฏธ์…˜ ์‹œ์Šคํ…œ: ์ผ์ผ/์ฃผ๊ฐ„ ๋ณด์ƒ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ์ด์šฉ ์œ ๋„

๐Ÿ› ๏ธ Tech Stack

Language & Framework

  • Language: Python
  • Framework: FastAPI
  • ORM: Tortoise ORM

Asynchronous Task Queue

  • Task Queue: Celery
  • Broker/Backend: Redis

Testing & Linting

  • Test Framework: Pytest
  • Linting: Ruff, Black, dmypy
  • CI Rule: ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ 90% ์ด์ƒ์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ‘ํ•ฉ ๋ถˆ๊ฐ€

CI/CD

  • GitHub Actions ๊ธฐ๋ฐ˜
  • CI: ์ปค๋ฒ„๋ฆฌ์ง€ ์ฒดํฌ, ๋ฆฐํŒ…, ํ…Œ์ŠคํŠธ ์ž๋™ ์‹คํ–‰
  • CD: AWS ์ธํ”„๋ผ๋ฅผ ํ†ตํ•œ ์ž๋™ ๋ฐฐํฌ (๋ฌด์ค‘๋‹จ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ)

Infrastructure

  • Cloud: AWS
  • Components:
    • Route53 (DNS)
    • Application Load Balancer
    • EC2 (๋ฐฐํฌ ๋Œ€์ƒ ์„œ๋ฒ„)
    • RDS (Relational Database)
    • Redis (Celery ๋ฐฑ์—”๋“œ์šฉ)

๐Ÿงฑ Architecture

Client
  โ†“
[ Route53 ]
  โ†“
[ Load Balancer ]
  โ†“                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
[ Target Group ] โ”€โ”€โ”€โ–ถ  โ”‚   EC2-A    โ”‚
                      โ”‚ (App v1)   โ”‚
[ Target Group ] โ”€โ”€โ”€โ–ถ  โ”‚   EC2-B    โ”‚
                      โ”‚ (App v2)   โ”‚
  โ†“                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
[     RDS (MySQL)     ]