Skip to content

NoahRecycleFarm/csv-comparison-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CSV ๋น„๊ต ์•ฑ ๐Ÿ“Š

์–ด์ œ์™€ ์˜ค๋Š˜์˜ CSV ํŒŒ์ผ์„ ๋น„๊ตํ•˜์—ฌ ์—…๋ฐ์ดํŠธ ํšŸ์ˆ˜๊ฐ€ 3ํšŒ ์ด์ƒ ์ฆ๊ฐ€ํ•œ ์œ ์ €๋ฅผ ์‹๋ณ„ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

GitHub Pages React TypeScript License


๐Ÿš€ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ

๐Ÿ‘‰ https://noahrecyclefarm.github.io/csv-comparison-app


๐Ÿ“‹ ์ฃผ์š” ๊ธฐ๋Šฅ

โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  • ๐Ÿ“ CSV ํŒŒ์ผ ๋น„๊ต: ์–ด์ œ์™€ ์˜ค๋Š˜์˜ CSV ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์—ฌ ๋น„๊ต
  • ๐ŸŽฏ ์Šค๋งˆํŠธ ํ•„ํ„ฐ๋ง: ์—…๋ฐ์ดํŠธ ํšŸ์ˆ˜ 3ํšŒ ์ด์ƒ ์ฆ๊ฐ€ํ•œ ์œ ์ € ์ž๋™ ์‹๋ณ„
  • ๐ŸŒ ๊ตญ๊ฐ€ ์ž๋™ ํŒ๋ณ„: E164 ์ „ํ™”๋ฒˆํ˜ธ ๊ธฐ๋ฐ˜ ๊ตญ๊ฐ€ ์‹๋ณ„ (ํ•œ๊ตญ/๋ฏธ๊ตญ/๊ธฐํƒ€)
  • ๐Ÿ“Š ํ†ต๊ณ„ ์ƒ์„ฑ: ์—…๋ฐ์ดํŠธ ํšŸ์ˆ˜๋ณ„ ์œ ์ € ์ˆ˜ ํ†ต๊ณ„ (์ „์ฒด + ๊ตญ๊ฐ€๋ณ„)
  • ๐Ÿ’พ CSV ๋‹ค์šด๋กœ๋“œ: ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ CSV ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œ

๐Ÿ” ํ•„ํ„ฐ๋ง ์กฐ๊ฑด

  • ๊ธฐ์กด ์œ ์ €: ์–ด์ œ 0, 1, 2ํšŒ โ†’ ์˜ค๋Š˜ 3ํšŒ ์ด์ƒ
  • ์‹ ๊ทœ ์œ ์ €: ์–ด์ œ ์—†์Œ โ†’ ์˜ค๋Š˜ 3ํšŒ ์ด์ƒ
  • ์‚ญ์ œ ์ œ์™ธ: ์‚ญ์ œ๋˜์ง€ ์•Š์€ ์œ ์ €๋งŒ ํฌํ•จ

๐ŸŽจ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜

  • ๐Ÿ“ฑ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ: ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ, ๋ฐ์Šคํฌํ†ฑ ์ง€์›
  • ๐ŸŽจ ์ง๊ด€์  UI: ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ํŒŒ์ผ ์—…๋กœ๋“œ
  • โšก ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ: ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ฆ‰์‹œ ๊ฒฐ๊ณผ ํ™•์ธ
  • ๐Ÿ”ง ๋””๋ฒ„๊น… ์ง€์›: ํŒŒ์‹ฑ ์ƒํƒœ ๋ฐ ์ปฌ๋Ÿผ ์ธ์‹ ๊ฒฐ๊ณผ ํ‘œ์‹œ

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

ํ”„๋ก ํŠธ์—”๋“œ

  • React 18.2.0 - UI ํ”„๋ ˆ์ž„์›Œํฌ
  • TypeScript 4.9.5 - ํƒ€์ž… ์•ˆ์ „์„ฑ
  • PapaParse 5.4.1 - CSV ํŒŒ์‹ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • CSS3 - ์Šคํƒ€์ผ๋ง ๋ฐ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ

๋ฐฐํฌ ๋ฐ ํ˜ธ์ŠคํŒ…

  • GitHub Pages - ์ •์  ์›น ํ˜ธ์ŠคํŒ…
  • GitHub Actions - ์ž๋™ ๋ฐฐํฌ (์„ ํƒ์‚ฌํ•ญ)

๐Ÿ“Š ๋ฐ์ดํ„ฐ ํ˜•์‹

์ž…๋ ฅ CSV ํŒŒ์ผ

ํ•„์ˆ˜ ์ปฌ๋Ÿผ

์ปฌ๋Ÿผ๋ช… ์„ค๋ช… ์˜ˆ์‹œ
user_id ์œ ์ € ๊ณ ์œ  ์‹๋ณ„์ž user123
์‚ฌ์šฉํšŸ์ˆ˜ ์—…๋ฐ์ดํŠธ ํšŸ์ˆ˜ 5

์„ ํƒ์  ์ปฌ๋Ÿผ

์ปฌ๋Ÿผ๋ช… ์„ค๋ช… ์˜ˆ์‹œ
e164 ๊ตญ์ œ ์ „ํ™”๋ฒˆํ˜ธ +821012345678
์‚ญ์ œ ์‚ญ์ œ ์—ฌ๋ถ€ false

์ถœ๋ ฅ CSV ํŒŒ์ผ

ํ•„ํ„ฐ๋ง๋œ ์œ ์ € ๋ฐ์ดํ„ฐ

user_id,yesterday_count,today_count,difference,e164,country,deleted
user123,1,5,4,+821012345678,ํ•œ๊ตญ,false
user456,0,3,3,+12125551234,๋ฏธ๊ตญ,false

ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ

=== ์ „์ฒด ํ†ต๊ณ„ ===
count,yesterday_users,today_users
0,100,50
1,80,60
...

=== ํ•œ๊ตญ ํ†ต๊ณ„ ===
count,yesterday_users,today_users
0,50,25
1,40,30
...

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

1. ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

# ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/NoahRecycleFarm/csv-comparison-app.git
cd csv-comparison-app

# ์˜์กด์„ฑ ์„ค์น˜
npm install

# ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹œ์ž‘
npm start

2. ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ

# ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ
npm run build

# GitHub Pages ๋ฐฐํฌ
npm run deploy

๐Ÿ“– ์‚ฌ์šฉ๋ฒ•

1. ํŒŒ์ผ ์—…๋กœ๋“œ

  • ์–ด์ œ ํŒŒ์ผ: ๊ธฐ์ค€์ด ๋˜๋Š” ์ด์ „ ๋‚ ์งœ์˜ CSV ํŒŒ์ผ ์—…๋กœ๋“œ
  • ์˜ค๋Š˜ ํŒŒ์ผ: ๋น„๊ต ๋Œ€์ƒ์ธ ํ˜„์žฌ ๋‚ ์งœ์˜ CSV ํŒŒ์ผ ์—…๋กœ๋“œ

2. ๋ฐ์ดํ„ฐ ๋น„๊ต

  • ๋น„๊ต ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ ๋‘ ํŒŒ์ผ ๋น„๊ต ์‹คํ–‰
  • ๊ฒฐ๊ณผ๋Š” ํ™”๋ฉด์— ์ฆ‰์‹œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค

3. ๊ฒฐ๊ณผ ํ™•์ธ

  • ํ•„ํ„ฐ๋ง๋œ ์œ ์ € ๋ชฉ๋ก: ์กฐ๊ฑด์— ๋งž๋Š” ์œ ์ €๋“ค ๋ฏธ๋ฆฌ๋ณด๊ธฐ
  • ํ†ต๊ณ„ ์ •๋ณด: ์—…๋ฐ์ดํŠธ ํšŸ์ˆ˜๋ณ„ ์œ ์ € ์ˆ˜ ํ†ต๊ณ„
  • ๋””๋ฒ„๊น… ์ •๋ณด: ํŒŒ์‹ฑ ์ƒํƒœ ๋ฐ ์ปฌ๋Ÿผ ์ธ์‹ ๊ฒฐ๊ณผ

4. ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ

  • ํ•„ํ„ฐ๋ง๋œ ์œ ์ € CSV: ์กฐ๊ฑด์— ๋งž๋Š” ์œ ์ €๋“ค์˜ ์ƒ์„ธ ์ •๋ณด
  • ํ†ต๊ณ„ CSV: ์ „์ฒด ๋ฐ ๊ตญ๊ฐ€๋ณ„ ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ

๐Ÿ”ง ๋™์  ์ปฌ๋Ÿผ ์ธ์‹

์•ฑ์€ ๋‹ค์–‘ํ•œ ์ปฌ๋Ÿผ๋ช…์„ ์ž๋™์œผ๋กœ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค:

user_id ์ปฌ๋Ÿผ

  • user_id, userId, user, id ๋“ฑ

update_count ์ปฌ๋Ÿผ

  • ์‚ฌ์šฉํšŸ์ˆ˜, update_count, count, usage, ํšŸ์ˆ˜ ๋“ฑ

e164 ์ปฌ๋Ÿผ

  • e164, phone, ์ „ํ™” ๋“ฑ

deleted ์ปฌ๋Ÿผ

  • ์‚ญ์ œ, deleted, delete, remove ๋“ฑ

๐ŸŒ ๊ตญ๊ฐ€ ํŒ๋ณ„

E164 ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋™ ๊ตญ๊ฐ€ ํŒ๋ณ„:

  • +1 โ†’ ๋ฏธ๊ตญ ๐Ÿ‡บ๐Ÿ‡ธ
  • +82 โ†’ ํ•œ๊ตญ ๐Ÿ‡ฐ๐Ÿ‡ท
  • ๊ธฐํƒ€ โ†’ ๊ธฐํƒ€ ๊ตญ๊ฐ€ ๐ŸŒ

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

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

1. ๋ฐ์ดํ„ฐ๊ฐ€ ํŒŒ์‹ฑ๋˜์ง€ ์•Š์Œ

  • ํ•ด๊ฒฐ: ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†”์—์„œ ์‚ฌ์šฉํ•  ์ปฌ๋Ÿผ๋ช… ๋กœ๊ทธ ํ™•์ธ
  • ์กฐ์น˜: CSV ํŒŒ์ผ์˜ ์ปฌ๋Ÿผ๋ช…์ด ์ธ์‹ ํŒจํ„ด์— ๋งž๋Š”์ง€ ํ™•์ธ

2. ํ•„ํ„ฐ๋ง ๊ฒฐ๊ณผ๊ฐ€ ์—†์Œ

  • ํ•ด๊ฒฐ: ์ฝ˜์†”์—์„œ ํ•„ํ„ฐ๋ง๋œ ์œ ์ €๋“ค ๋กœ๊ทธ ํ™•์ธ
  • ์กฐ์น˜: ๋ฐ์ดํ„ฐ ํ˜•์‹ ๋ฐ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ๊ฒ€์ฆ

3. ํ†ต๊ณ„๊ฐ€ ์ •ํ™•ํ•˜์ง€ ์•Š์Œ

  • ํ•ด๊ฒฐ: all_users vs filtered_users ์‚ฌ์šฉ ํ™•์ธ
  • ์กฐ์น˜: ํ†ต๊ณ„ ๊ณ„์‚ฐ ๋กœ์ง ๊ฒ€์ฆ

๋””๋ฒ„๊น… ํŒ

  • F12 โ†’ Console ํƒญ์—์„œ ์ƒ์„ธ ๋กœ๊ทธ ํ™•์ธ
  • Network ํƒญ์—์„œ ํŒŒ์ผ ์—…๋กœ๋“œ ์ƒํƒœ ํ™•์ธ
  • ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ํด๋ฆฌ์–ด ํ›„ ์žฌ์‹œ๋„

๐Ÿ“š ๋ฌธ์„œ


๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

๋ฒ„๊ทธ ๋ฆฌํฌํŠธ

  • GitHub Issues์—์„œ ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ
  • ์žฌํ˜„ ๋‹จ๊ณ„์™€ ์˜ˆ์ƒ ๊ฒฐ๊ณผ๋ฅผ ํฌํ•จํ•ด์ฃผ์„ธ์š”

๊ธฐ๋Šฅ ์š”์ฒญ

  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์•„์ด๋””์–ด๋ฅผ Issues์— ์ œ์•ˆํ•ด์ฃผ์„ธ์š”
  • ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ช…์‹œํ•ด์ฃผ์„ธ์š”

์ฝ”๋“œ ๊ธฐ์—ฌ

  • Fork โ†’ Feature Branch โ†’ Pull Request
  • TypeScript + React ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค ์ค€์ˆ˜

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

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT License ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.


๐Ÿ“ž ์ง€์›


๐Ÿ† ์ฃผ์š” ํŠน์ง•

  • โœ… ๋ฌด๋ฃŒ ์‚ฌ์šฉ: GitHub Pages๋กœ ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ…
  • โœ… ์˜คํ”„๋ผ์ธ ์ž‘๋™: ์„œ๋ฒ„ ์—†์ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ชจ๋“  ์ฒ˜๋ฆฌ
  • โœ… ๋ฐ์ดํ„ฐ ๋ณด์•ˆ: ํŒŒ์ผ์ด ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š์Œ
  • โœ… ๋น ๋ฅธ ์ฒ˜๋ฆฌ: ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ ์ฆ‰์‹œ ๊ฒฐ๊ณผ ํ™•์ธ
  • โœ… ์œ ์—ฐํ•œ ํ˜•์‹: ๋‹ค์–‘ํ•œ CSV ์ปฌ๋Ÿผ๋ช… ์ž๋™ ์ธ์‹

โญ ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด Star๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”!


์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2024๋…„ 12์›” 19์ผ

About

Tesla Update count

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •