Skip to content

geeksbaek/tesla-dashcam-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

92 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Tesla ๋Œ€์‹œ์บ  ๋ทฐ์–ด

๋™๊ธฐํ™”๋œ ๋‹ค์ค‘ ์นด๋ฉ”๋ผ ์žฌ์ƒ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ Tesla ๋Œ€์‹œ์บ  ์˜์ƒ ๋ณด๊ธฐ ๋ฐ ๋ถ„์„์„ ์œ„ํ•œ ํ˜„๋Œ€์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. React, TypeScript, Vite๋กœ ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Tesla ๋Œ€์‹œ์บ  ๋ทฐ์–ด ๋ฉ”์ธ ํ™”๋ฉด Tesla ๋Œ€์‹œ์บ  ๋ทฐ์–ด ํ”Œ๋ ˆ์ด์–ด ํ™”๋ฉด

๐ŸŒ ๋‹ค๋ฅธ ์–ธ์–ด

๐Ÿš— ๊ธฐ๋Šฅ

๋‹ค์ค‘ ์นด๋ฉ”๋ผ ๋™๊ธฐํ™”

  • 4์ฑ„๋„/6์ฑ„๋„ ์นด๋ฉ”๋ผ ์ง€์›: ์ „๋ฐฉ, ํ›„๋ฐฉ, ์ขŒ์ธก ๋ฆฌํ”ผํ„ฐ, ์šฐ์ธก ๋ฆฌํ”ผํ„ฐ + HW4 ์ขŒ์ธก/์šฐ์ธก ํ•„๋Ÿฌ ์นด๋ฉ”๋ผ
  • ์™„๋ฒฝํ•œ ๋™๊ธฐํ™”: ๋ชจ๋“  ์นด๋ฉ”๋ผ๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ๋™๊ธฐํ™”๋˜์–ด ์žฌ์ƒ
  • ๋‹จ์ผ ํƒ€์ž„๋ผ์ธ: ์—ฌ๋Ÿฌ ๋น„๋””์˜ค ํด๋ฆฝ์„ ๋Š๊น€์—†์ด ํƒ์ƒ‰

๊ณ ๊ธ‰ ์žฌ์ƒ ์ œ์–ด

  • ํƒ€์ž„๋ผ์ธ ํƒ์ƒ‰: ์ „์ฒด ๋Œ€์‹œ์บ  ์„ธ์…˜์„ ์Šคํฌ๋Ÿฌ๋น™์œผ๋กœ ํƒ์ƒ‰
  • ์žฌ์ƒ ์†๋„ ์ œ์–ด: 0.1๋ฐฐ์†๋ถ€ํ„ฐ 1๋ฐฐ์†๊นŒ์ง€ ์†๋„ ์กฐ์ ˆ
  • ํ”„๋ ˆ์ž„ ๋‹จ์œ„ ์ด๋™: ์ •๋ฐ€ํ•œ ๋ถ„์„์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„๋ณ„ ํƒ์ƒ‰
  • ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค: ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๋น ๋ฅธ ์ ‘๊ทผ

๋น„๋””์˜ค ํ–ฅ์ƒ

  • ๋ฒˆํ˜ธํŒ ์ตœ์ ํ™”: F ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ๋Œ€๋น„์™€ ์„ ๋ช…๋„ ํ–ฅ์ƒ ํ† ๊ธ€
  • ๋น„๋””์˜ค ํ•„ํ„ฐ: ๋ฐ๊ธฐ, ๋Œ€๋น„, ์ฑ„๋„ ์กฐ์ ˆ
  • ๋น„๋””์˜ค ํ”ผํŒ… ๋ชจ๋“œ: Cover/Contain ๋ชจ๋“œ ์„ ํƒ ๊ฐ€๋Šฅ
  • ์ „์ฒดํ™”๋ฉด ๋ชจ๋“œ: ์นด๋ฉ”๋ผ ํด๋ฆญ ๋˜๋Š” ์ˆซ์ž ํ‚ค(1-6) ์‚ฌ์šฉ

์‚ฌ์šฉ์ž ๊ฒฝํ—˜

  • ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ: Tesla ์˜์ƒ ํด๋”๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ๊ฐ„๋‹จํžˆ ๋“œ๋ž˜๊ทธ
  • 10๊ฐœ๊ตญ์–ด ์ง€์›: ํ•œ๊ตญ์–ด, ์˜์–ด, ์ค‘๊ตญ์–ด ๋“ฑ 10๊ฐœ ์–ธ์–ด ์ธํ„ฐํŽ˜์ด์Šค
  • ๋‹คํฌ ํ…Œ๋งˆ: ๋น„๋””์˜ค ์‹œ์ฒญ์— ์ตœ์ ํ™”
  • ๋ฐ˜์‘ํ˜• ๋””์ž์ธ: ๋ชจ๋“  ํ™”๋ฉด ํฌ๊ธฐ์—์„œ ์ž‘๋™
  • PWA ์ง€์›: ์˜คํ”„๋ผ์ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์•ฑ์ฒ˜๋Ÿผ ์„ค์น˜ ๊ฐ€๋Šฅ
  • ์‹ค์‹œ๊ฐ„ ํƒ€์ž„์Šคํƒฌํ”„: ํ˜„์žฌ ์žฌ์ƒ ์ค‘์ธ ์ •ํ™•ํ•œ ์‹œ๊ฐ„ ํ‘œ์‹œ

๐ŸŽฏ ์˜จ๋ผ์ธ ์‚ฌ์šฉ

์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ: https://geeksbaek.github.io/tesla-dashcam-viewer/

์„ค์น˜ ์—†์ด ๋ฐ”๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉํ•˜์„ธ์š”!

๐Ÿ“ Tesla ๋Œ€์‹œ์บ  ํŒŒ์ผ ๊ตฌ์กฐ

Tesla ๋Œ€์‹œ์บ  ํŒŒ์ผ์€ ๋‹ค์Œ ๋ช…๋ช… ๊ทœ์น™์„ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค:

HW3 ์ฐจ๋Ÿ‰ (4์ฑ„๋„)

2024-01-15_14-30-25-front.mp4
2024-01-15_14-30-25-back.mp4
2024-01-15_14-30-25-left_repeater.mp4
2024-01-15_14-30-25-right_repeater.mp4

HW4 ์ฐจ๋Ÿ‰ (6์ฑ„๋„)

2024-01-15_14-30-25-front.mp4
2024-01-15_14-30-25-back.mp4
2024-01-15_14-30-25-left_repeater.mp4
2024-01-15_14-30-25-right_repeater.mp4
2024-01-15_14-30-25-left_pillar.mp4    # HW4 ์ถ”๊ฐ€ ์นด๋ฉ”๋ผ
2024-01-15_14-30-25-right_pillar.mp4   # HW4 ์ถ”๊ฐ€ ์นด๋ฉ”๋ผ

์•ฑ์€ ์ž๋™์œผ๋กœ ํƒ€์ž„์Šคํƒฌํ”„๋ณ„๋กœ ํŒŒ์ผ์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๋™๊ธฐํ™”๋œ ํด๋ฆฝ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฎ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์˜์ƒ ๋กœ๋“œ

  1. ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ: Tesla ๋Œ€์‹œ์บ  ์ „์ฒด ํด๋”๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ๋“œ๋กญ
  2. ํŒŒ์ผ ์ฐพ์•„๋ณด๊ธฐ: "ํŒŒ์ผ ์ฐพ์•„๋ณด๊ธฐ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋น„๋””์˜ค ํŒŒ์ผ ์„ ํƒ
  3. ์ž๋™ ๊ทธ๋ฃนํ™”: ์•ฑ์ด ์ž๋™์œผ๋กœ ํƒ€์ž„์Šคํƒฌํ”„๋ณ„๋กœ ํŒŒ์ผ ์ •๋ฆฌ

ํƒ์ƒ‰ ์ปจํŠธ๋กค

  • ํƒ€์ž„๋ผ์ธ ์Šฌ๋ผ์ด๋”: ํด๋ฆญ ๋ฐ ๋“œ๋ž˜๊ทธ๋กœ ์˜์ƒ์˜ ์›ํ•˜๋Š” ์ง€์ ์œผ๋กœ ์ด๋™
  • ๋น„๋””์˜ค ๋ชฉ๋ก: ์‚ฌ์ด๋“œ๋ฐ”์˜ ์›ํ•˜๋Š” ๋น„๋””์˜ค๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ•ด๋‹น ํด๋ฆฝ์œผ๋กœ ์ด๋™
  • ์žฌ์ƒ/์ผ์‹œ์ •์ง€: ์žฌ์ƒ ๋ฒ„ํŠผ ํด๋ฆญ ๋˜๋Š” Space ํ‚ค ๋ˆ„๋ฅด๊ธฐ

ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค

์žฌ์ƒ

  • Space - ์žฌ์ƒ/์ผ์‹œ์ •์ง€
  • โ† โ†’ - ๋’ค๋กœ/์•ž์œผ๋กœ ํƒ์ƒ‰ (5์ดˆ ๋˜๋Š” 1ํ”„๋ ˆ์ž„)
  • โ†‘ โ†“ - ์ด์ „/๋‹ค์Œ ๋น„๋””์˜ค ํด๋ฆฝ

์นด๋ฉ”๋ผ ๋ทฐ

  • 1 - ์ „๋ฐฉ ์นด๋ฉ”๋ผ ์ „์ฒดํ™”๋ฉด
  • 2 - ํ›„๋ฐฉ ์นด๋ฉ”๋ผ ์ „์ฒดํ™”๋ฉด
  • 3 - ์šฐ์ธก ๋ฆฌํ”ผํ„ฐ ์ „์ฒดํ™”๋ฉด
  • 4 - ์ขŒ์ธก ๋ฆฌํ”ผํ„ฐ ์ „์ฒดํ™”๋ฉด
  • 5 - ์ขŒ์ธก ํ•„๋Ÿฌ ์ „์ฒดํ™”๋ฉด (HW4 ์ „์šฉ)
  • 6 - ์šฐ์ธก ํ•„๋Ÿฌ ์ „์ฒดํ™”๋ฉด (HW4 ์ „์šฉ)

์˜์ƒ ํ–ฅ์ƒ

  • F - ๋ฒˆํ˜ธํŒ ์ธ์‹ ํ•„ํ„ฐ ํ† ๊ธ€ (๊ณ ๋Œ€๋น„ + ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ)

์˜์ƒ ๋ถ„์„ ๊ธฐ๋Šฅ

๋ฒˆํ˜ธํŒ ๋ชจ๋“œ (F ํ‚ค)

๋ฒˆํ˜ธํŒ ํŒ๋…์— ์ตœ์ ํ™”๋œ ์„ค์ •:

  • ํ–ฅ์ƒ๋œ ๋Œ€๋น„ (150%)
  • ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ๋ณ€ํ™˜
  • ์ด๋ฏธ์ง€ ์„ ๋ช…ํ™”
  • ์ผ๋ฐ˜ ๋ฐ๊ธฐ

ํ”„๋ ˆ์ž„ ๋‹จ์œ„ ํƒ์ƒ‰

  1. ์ปจํŠธ๋กค ํŒจ๋„์—์„œ "ํ”„๋ ˆ์ž„" ๋ชจ๋“œ๋กœ ์ „ํ™˜
  2. โ† โ†’ ํ™”์‚ดํ‘œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„ ํ”„๋ ˆ์ž„ ๋‹จ์œ„๋กœ ์ด๋™
  3. ์‚ฌ๊ณ  ๋ถ„์„์ด๋‚˜ ํŠน์ • ์ˆœ๊ฐ„ ์บก์ฒ˜์— ์™„๋ฒฝ

๋‹ค์ค‘ ์นด๋ฉ”๋ผ ๋ถ„์„

  • 4-6๊ฐœ ์นด๋ฉ”๋ผ ๊ฐ๋„๋ฅผ ๋™์‹œ์— ๋ณด๊ธฐ (HW3: 4์ฑ„๋„, HW4: 6์ฑ„๋„)
  • ์›ํ•˜๋Š” ์นด๋ฉ”๋ผ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ „์ฒดํ™”๋ฉด์œผ๋กœ ๋ณด๊ธฐ
  • ๋ชจ๋“  ์นด๋ฉ”๋ผ๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ๋™๊ธฐํ™”๋จ
  • ์‹ค์‹œ๊ฐ„ ํƒ€์ž„์Šคํƒฌํ”„๋กœ ์ •ํ™•ํ•œ ์‚ฌ๊ฑด ์‹œ๊ฐ ํ™•์ธ

๐Ÿ› ๏ธ ๊ธฐ์ˆ ์  ์„ธ๋ถ€์‚ฌํ•ญ

์‚ฌ์šฉ ๊ธฐ์ˆ 

  • React 19 - ์ตœ์‹  ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ํ˜„๋Œ€์ ์ธ React
  • TypeScript - ํƒ€์ž… ์•ˆ์ „ ๊ฐœ๋ฐœ
  • Vite - ๋น ๋ฅธ ๋นŒ๋“œ ๋„๊ตฌ ๋ฐ ๊ฐœ๋ฐœ ์„œ๋ฒ„
  • Mantine - UI ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • Tailwind CSS - ์œ ํ‹ธ๋ฆฌํ‹ฐ ์šฐ์„  ์Šคํƒ€์ผ๋ง
  • i18next - ๊ตญ์ œํ™”
  • PWA (Progressive Web App) - ์˜คํ”„๋ผ์ธ ์ง€์› ๋ฐ ์•ฑ ์„ค์น˜

๋ธŒ๋ผ์šฐ์ € ์š”๊ตฌ์‚ฌํ•ญ

  • ES6+ ๋ฐ HTML5 ๋น„๋””์˜ค๋ฅผ ์ง€์›ํ•˜๋Š” ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €
  • Chrome, Firefox, Safari, Edge (์ตœ์‹  ๋ฒ„์ „)
  • JavaScript ํ™œ์„ฑํ™”
  • ๋‹ค์ค‘ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์„ ์œ„ํ•œ ์ถฉ๋ถ„ํ•œ RAM

์„ฑ๋Šฅ ์ฐธ๊ณ ์‚ฌํ•ญ

  • ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ๋น„๋””์˜ค๋ฅผ ๊ฐ์ฒด URL๋กœ ๋กœ๋“œ
  • ํด๋ฆฝ ์ „ํ™˜ ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ž๋™์œผ๋กœ ์ •๋ฆฌ๋จ
  • ๊ถŒ์žฅ์‚ฌํ•ญ:
    • HW3 (4์นด๋ฉ”๋ผ): 8GB+ RAM
    • HW4 (6์นด๋ฉ”๋ผ): 16GB+ RAM

๐Ÿ› ๋ฌธ์ œ ํ•ด๊ฒฐ

์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ

์˜์ƒ์ด ๋กœ๋“œ๋˜์ง€ ์•Š์Œ

  • ํŒŒ์ผ๋ช…์ด Tesla ํ˜•์‹๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธ: YYYY-MM-DD_HH-MM-SS-[camera].mp4
  • ํŒŒ์ผ์ด ์œ ํšจํ•œ MP4 ๋น„๋””์˜ค์ธ์ง€ ํ™•์ธ
  • ๋จผ์ € ๋” ์ ์€ ํŒŒ์ผ๋กœ ์‹œ๋„ํ•ด๋ณด๊ธฐ

์„ฑ๋Šฅ ์ €ํ•˜

  • ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ํƒญ ๋‹ซ๊ธฐ
  • ์ตœ๊ณ  ์„ฑ๋Šฅ์„ ์œ„ํ•ด Chrome ์‚ฌ์šฉ
  • ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋น„๋””์˜ค ํ’ˆ์งˆ ๋‚ฎ์ถ”๊ธฐ
  • ์ถฉ๋ถ„ํ•œ RAM ํ™•๋ณด (8GB+ ๊ถŒ์žฅ)

๋™๊ธฐํ™” ๋ฌธ์ œ

  • ํƒ€์ž„์Šคํƒฌํ”„ ๊ทธ๋ฃน์˜ ๋ชจ๋“  ๋น„๋””์˜ค๊ฐ€ ๋™์ผํ•œ ๊ธธ์ด์—ฌ์•ผ ํ•จ
  • ๋น„๋””์˜ค ํŒŒ์ผ์ด ์†์ƒ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธ
  • ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ๋„

๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

  • Chrome: ์™„์ „ ์ง€์› (๊ถŒ์žฅ)
  • Firefox: ์™„์ „ ์ง€์›
  • Safari: ์™„์ „ ์ง€์›
  • Edge: ์™„์ „ ์ง€์›
  • ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €: ์ œํ•œ์  ์ง€์› (์„ฑ๋Šฅ)

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ํ™•์ธํ•˜์„ธ์š”.

๐Ÿค ๊ธฐ์—ฌ

๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ์–ธ์ œ๋“ ์ง€ Pull Request๋ฅผ ์ œ์ถœํ•ด ์ฃผ์„ธ์š”.

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๊ธ€

  • ๋†€๋ผ์šด ๋Œ€์‹œ์บ  ์‹œ์Šคํ…œ์„ ๋งŒ๋“  Tesla
  • ํ›Œ๋ฅญํ•œ ๋„๊ตฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ
  • ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋” ์ข‹๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ธฐ์—ฌ์ž๋“ค

์ฐธ๊ณ : ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์™„์ „ํžˆ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋น„๋””์˜ค ๋ฐ์ดํ„ฐ๋„ ์—…๋กœ๋“œ๋˜๊ฑฐ๋‚˜ ์™ธ๋ถ€์— ๊ณต์œ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ฐœ์ธ์ •๋ณด์™€ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์ด ํ•ญ์ƒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

Packages

 
 
 

Contributors