Skip to content

๐Ÿšง

License

Notifications You must be signed in to change notification settings

pknu-wap/collab-note

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

๐Ÿ“ CollabNote

ํ”„๋กœ์ ํŠธ ์ด๋ฆ„

๐Ÿ“ Collab Note

ํ”„๋กœ์ ํŠธ ์„ค๋ช…

์‹ค์‹œ๊ฐ„ ํ™”์ƒ ๊ณต์œ , ๋™์‹œ ํŽธ์ง‘์ด ๊ฐ€๋Šฅํ•œ ํ˜‘์—… ํˆด

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

  • WebRTC: ํ™”์ƒ๊ณต์œ 

    • WebRTC(Web Real-Time Communication)๋ž€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์‚ฌ์ดํŠธ๊ฐ€ ์ค‘๊ฐ„์ž ์—†์ด ๋ธŒ๋ผ์šฐ์ € ๊ฐ„์— ์˜ค๋””์˜ค๋‚˜ ์˜์ƒ ๋ฏธ๋””์–ด๋ฅผ ํฌ์ฐฉํ•˜๊ณ  ๋งˆ์Œ๋Œ€๋กœ ์ŠคํŠธ๋ฆผํ•  ๋ฟ ์•„๋‹ˆ๋ผ, ์ž„์˜์˜ ๋ฐ์ดํ„ฐ๋„ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธฐ์ˆ . ex) Zoom, Google Meet, Facebook
  • CRDT: ๋™์‹œ ํŽธ์ง‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„

    • CRDT(Conflict-Free-Replicated Data Types)๋ž€ ๋™์‹œ ์ˆ˜์ • ์ž‘์—…์ด ๋ฐœ์ƒํ•˜๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. ex) Figma, Google Docs
  • ETC:

    • Cypress๋ฅผ ํ†ตํ•œ E2E(End To End) Testing

ํ”„๋กœ์ ํŠธ ์Šคํƒ

  • Server: Nestjs, Postgresql, Prisma, Swagger
  • Client: React(+Vite)
    • Global State: Tanstack Query, Zustand
    • UI: Emotion, Framer-motion, Storybook
  • ETC:
    • Typescript
    • Pnpm์˜ workspace๋ฅผ ์ด์šฉํ•œ monorepo ๋ฐฉ์‹
    • Socket.io, Socket.io-client ๋ฅผ ํ†ตํ•œ Socket ํ†ต์‹ 
    • jest, testing-library๋ฅผ ํ†ตํ•œ test

Links

Releases

No releases published

Packages

No packages published