Git Product home page Git Product logo

subtube's Introduction

Hi , I'm JEON Se-Ok


LinkdeIN Mail Git Pages

Metrics


Focusing ๐ŸŽฏ on life, so will be a bit slow for a couple of weeks

subtube's People

Contributors

forbid403 avatar najiwoong avatar seokjeon avatar

Stargazers

 avatar

Watchers

 avatar  avatar

subtube's Issues

[STORY] Check reward &translate

๊ณ ๊ฐ์€ ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ์ž์‹ ์ด ๋ฒˆ์—ญํ•œ ๋ฌธ์žฅ ๋ธ”๋ก๋“ค๊ณผ ๋ชจ์€ ๋ด‰์‚ฌ์‹œ๊ฐ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] Translation voting system

๊ณ ๊ฐ์€ ์ตœ์„ ์˜ ๋ฒˆ์—ญ์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ์Œ์— ๋“œ๋Š” ๋ฒˆ์—ญ์„ ์„ ํƒํ•˜์—ฌ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] min(duration, start time)

duration , start time period ๋น„๊ตํ•ด์„œ ๋” ์ž‘์€ ๊ฐ’์„ db์— ์ €์žฅ

[STORY] Input youtube url

๊ณ ๊ฐ์€ ๋ฒˆ์—ญํ•˜๊ณ ์ž ํ•˜๋Š” ์˜์ƒ์„ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด url์„ ์ž…๋ ฅ ํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] display translations list

์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๊ณ ๊ฐ์ด ๋‚ด์šฉ ์ฐธ๊ณ  ๋ฐ ํˆฌํ‘œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ, ๋ฌธ์žฅ ๋ธ”๋ก๋“ค์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ฒˆ์—ญ ์ •๋ณด(์˜์–ด ์›๋ฌธ๊ณผ, ๋ฒˆ์—ญ๋ฌธ, ์ถ”์ฒœ ์ˆ˜)๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] explore sentence block with arrow keys

๊ณ ๊ฐ์€ ๋ฌธ์žฅ์˜ ๋ฌธ๋งฅ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด, ๋ฌธ์žฅ ๋ธ”๋ก์„ ์œ„, ์•„๋ž˜ ๋ฐฉํ–ฅํ‚ค๋กœ์„œ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Move to translated video

์ž์‹ ์ด ๋ฒˆ์—ญํ•œ ๋ฌธ์žฅ ๋ธ”๋ก์„ ํด๋ฆญ ํ•  ์‹œ ํ•ด๋‹น ์˜์ƒ ํŽ˜์ด์ง€์˜ ํ•ด๋‹น ๋ฌธ์žฅ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

[EPIC] Translate one sentence

๊ณ ๊ฐ์€ ํ•œ ๋ฌธ์žฅ์”ฉ ๋ฒˆ์—ญ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] Get text data from video in url

์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ์‹œ๊ฐ„ ๋ณ„ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœ ๋ฐ ์ •์ œํ•˜๊ธฐ ์œ„ํ•ด url ์† ์˜์ƒ์„ ์Œ์„ฑ ์ธ์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] Delete Translated Sentence

D๊ณ ๊ฐ์€ ์ž์‹ ์˜ ์ž๋ง‰์„ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด, ์ž์‹ ์˜ ๋ฒˆ์—ญ ๋ฌธ์žฅ ๋ธ”๋ก์—์„œ X ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Make sentence block list view

image.png

  • ์œ„ ์ด๋ฏธ์ง€์—์„œ ์˜์ƒ ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„๊ณผ ์˜ค๋ฅธ์ชฝ์€ ๋นˆ์นธ์œผ๋กœ ๋ ˆ์ด์•„์›ƒ๋งŒ ์žก์•„๋‘๊ณ , ๋‚˜๋จธ์ง€ html, css, js๋กœ ๊ตฌํ˜„
  • ๊ฐ ๋ธ”๋ก ํด๋ฆญ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋‹ฌ๊ธฐ // ํด๋ฆญํ•˜๋ฉด ๋ธ”๋ก ์ƒ‰๊น” ๋ณ€ํ•˜๋Š” ๊ฑธ๋กœ? ์•Œ์•„์„œ์ž˜๋”ฑ๊น”๋”ํ•˜๊ณ ์„ผ์Šค์žˆ๊ฒŒ
  • url ๋ผ์šฐํŒ… // ์–ด๋–ค url ํ˜•์‹์„ ํ• ๊ฑด์ง€ ์ •ํ•ด์„œ url๋งŒ ์žก์•„์ฃผ๋ฉด ๋ ๋“ฏ
  • db์—์„œ ์ž๋ง‰ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์™€์„œ ๋™์ ์œผ๋กœ ๋ธ”๋ก ์ƒ์„ฑํ•ด์„œ ๋ฟŒ๋ ค์ฃผ๊ธฐ

[TASK][bug] ๋ฆฌ์ŠคํŠธ ํด๋ฆญ ์ž๋™ ์žฌ์ƒ ๋ฒ„๊ทธ

๋ฆฌ์ŠคํŠธ ํด๋ฆญ ์‹œ timeout์ด ๋๋‚˜๊ธฐ ์ „์— ๋‹ค๋ฅธ ๋ธ”๋ก์„ ํด๋ฆญํ•˜๋ฉด
์ด์ „์— call ํ–ˆ๋˜ timeout๋•Œ๋ฌธ์— ์ผ์ฐ ์ •์ง€๊ฐ€ ๋จ.
์ „์—ญ๋ณ€์ˆ˜๋กœ timeout์„ ๋ถ€๋ฅธ ํ›„์— cleartimeout์„ ํ•˜๊ฑฐ๋‚˜
state๋กœ timeout์„ ์„ค์ •ํ•ด์„œ setstate๋ฅผ ํ•ด์•ผ ํ• ๋“ฏ -> ๊ทผ๋ฐ ์ด๊ฑฐ๋Š” ๋น„๋™๊ธฐ ๋•Œ๋ฌธ์— ์ข€ ๊ผฌ์ผ๋“ฏ?

[TASK] export subtitle

์ €์žฅ๋œ ์ตœ์„ ์˜ (votes์ˆ˜๊ฐ€ ์ œ์ผ ๋†’์€ ) ์ž๋ง‰ export

[STORY] Create both raw english sentence and Translate to Korean

๊ณ ๊ฐ์€ ์ž๋ง‰ ๋ฒˆ์—ญ์„ ํ•  ๋•Œ, ํŠน์ • ๋ฌธ์žฅ ๋ธ”๋ก์„ ์„ ํƒํ•˜์—ฌ, ์ž๋™์ƒ์„ฑ๋œ ์˜์–ด ํ…์ŠคํŠธ์™€, ์ž์‹ ๋งŒ์˜ ๋ฒˆ์—ญ์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

[TASK] Update Translation with pencil image button

์—ฐํ•„๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ(state ๋ณ€๊ฒฝ โ†’ ํผ ์†์„ฑ ์ˆ˜์ •) + ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

[STORY] Activate Sentence block

๊ณ ๊ฐ์€ ๋ฌธ์žฅ์˜ ๋ฌธ๋งฅ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด, ๋ฌธ์žฅ ๋ธ”๋ก์„ ํ™œ์„ฑํ™” ํ•˜์—ฌ ์„ ํƒ๋œ ๋ฌธ์žฅ ๊ตฌ๊ฐ„์„ ์˜์ƒ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] Export best translation

๊ณ ๊ฐ์€ export ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ, ํ˜„์žฌ ์ตœ์„ ์˜ ๋ฒˆ์—ญ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„ ์ž๋ง‰ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] Check my translated sentences.

์œ ์ €๋Š” ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ๋ฒˆ์—ญํ•œ ๋ฌธ์žฅ ๋ธ”๋ก๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Delete user own translation with x button on translation block

  • create ์ดํ›„, ํผ์— ๋ฐ์ดํ„ฐ๊ฐ€ clear๋˜๊ฒŒ ํ•œ๋‹ค.
  • ํผ์—์„œ ์ฒดํฌ ๋ฒ„ํŠผ๋งŒ ๋‚จ๊ธด๋‹ค.
  • translation block์— x๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
  • translation block์— ์žˆ๋Š” x๋ฒ„ํŠผ์— ํด๋ฆญ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋“ฑ๋กํ•ด์ฃผ๊ณ , ํ•ด๋‹น ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์—์„œ ๋””๋น„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•œ๋‹ค.

[TASK] Add gained commited time with dummy data at navigation bar

๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์— ๋”๋ฏธ๋ฐ์ดํ„ฐ๋กœ ๋ด‰์‚ฌ์‹œ๊ฐ„ ํ™•์ธ, ํ•˜๋Š” ๊น€์— ์œ ์ € ์ด๋ฆ„๋„ ๋”๋ฏธ ๋ฐ์ดํ„ฐ๋กœ?

[TASK] Extract real-time SUB from youtube url

  • ๋น„๋””์˜ค ๋„ฃ์œผ๋ฉด ์ž๋™์œผ๋กœ ์ž๋ง‰ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ ์ ˆํ•œ API ์ฐพ๊ธฐ
  • ํ•ด๋‹น API ์ ์šฉํ•ด์„œ, url ์ž…๋ ฅ์„ ํ–ˆ์„๋•Œ ์•Œ์•„์„œ ์ž๋ง‰์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ๊นŒ์ง€ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ

[STORY] Control video time line

๊ณ ๊ฐ์€ ์ „์ฒด ์˜์ƒ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด, ๊ธฐ๋ณธ์ ์ธ ์˜์ƒ ์ œ์–ด๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Processing raw sub data into formed db data

  • ๋ฌธ์žฅ ๋ธ”๋ก์— ๋Œ€ํ•œ DB ์Šคํ‚ค๋งˆ ์งœ๊ธฐ // ์Šคํ‚ค๋งˆ ์งœ๊ณ  ๊ฐ™์ด ๋…ผ์˜ํ•ด ๋ด์•ผ ํ• ๋“ฏ ์ค‘์š”ํ•œ ์‚ฌ์•ˆ์ด๋ผ
  • ์ž๋ง‰ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜์—ฌ, ํ•ด๋‹น ์Šคํ‚ค๋งˆ์— ๋งž๊ฒŒ ๋””๋น„์— ์ €์žฅ
  • ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€์—์„œ ์œ ํŠœ๋ธŒ ๋งํฌ ์ž…๋ ฅํ•˜๊ณ  ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ๋ˆ„๋ฅผ ๋•Œ, ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋˜๊ธฐ ์ „์—, ํ•ด๋‹น ์ž๋ง‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋””๋น„์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

๋””๋น„ ์Šคํ‚ค๋งˆ

์œ ์ €
- ์ด๋ฆ„
- ์ด ๋ด‰์‚ฌ ๊ธฐ๊ฐ„
- ๋‚ด ๋ฒˆ์—ญ ids

๋™์˜์ƒ
- url
- ๋ฌธ์žฅ ๋ธ”๋ก๋“ค ids
- contributor๋“ค ids // user ids
==================================
(optional)
- ์ธ๋„ค์ผ ์ด๋ฏธ์ง€ // ๊ด€๋ จ api ์‚ฌ์šฉ์ด ํŽธํ•˜๋‹ค๋ฉด.

๋ฌธ์žฅ ๋ธ”๋ก
- ํ•ด๋‹นํ•˜๋Š” ๋™์˜์ƒ id
- raw eng
- start_timing
- duration
- num_of_translation
- num_of_most_votes

๋ฒˆ์—ญ๋“ค
    - translator // user id
    - ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์žฅ ๋ธ”๋ก ids
    - is_modified
    - modified_eng
    - translatd_kor
    - num_of_votes

        ์ถ”์ฒœ
            - ์ถ”์ฒœํ•œ ๋ฒˆ์—ญ ids
            - voter // user

[EPIC] Check self info and compensation

์œ ์ €๊ฐ€ ๋ฒˆ์—ญ์— ๋Œ€ํ•œ ๋ณด์ƒ๊ณผ ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] Update Translation

U๊ณ ๊ฐ์€ ์ž์‹ ์˜ ์ž๋ง‰์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด, ์ž์‹ ์˜ ๋ฒˆ์—ญ ๋ฌธ์žฅ ๋ธ”๋ก์—์„œ ์—ฐํ•„ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Server Setting

  • ์„œ๋ฒ„์„ธํŒ…
    • node.js, ์„ค์น˜ + ๊ธฐ๋ณธ์  ํ…Œ์ŠคํŠธ
    • ngrok? ip direct?

[STORY] Update translated list after upload my own translated data

์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๊ณ ๊ฐ์ด ์ž์‹ ์ด ๋ฒˆ์—ญํ•œ ๋ฌธ์žฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ €์žฅ ํ›„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ฒˆ์—ญ ๋ฆฌ์ŠคํŠธ ๋ทฐ์— ํ•ด๋‹น ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Input YouTube url through DB, and fetch information from DB from react (related with TASK #34)

  1. YouTube url์„ home์—์„œ ์ž…๋ ฅํ–ˆ์„ ๋•Œ, ๋ฐฑ์—”๋“œ์—์„œ ์ •๋ณด๋ฅผ ๋ฐ›์•„ ์ด๋ฏธ DB์— ์กด์žฌํ•˜๋Š” YouTube ์˜์ƒ์ธ์ง€ ํŒ๋ณ„ํ•˜๊ณ , ์ด๋ฏธ ์กด์žฌํ•  ๊ฒฝ์šฐ DB์—์„œ, ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ api ์„œ๋ฒ„์—์„œ ์ •๋ณด๋ฅผ ๋ฐ›์•„ ๋„˜๊ฒจ์ค€๋‹ค.

  2. api ์„œ๋ฒ„์—์„œ ์ •๋ณด๋ฅผ ๋ฐ›์•„์™”์„ ๊ฒฝ์šฐ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“ค์–ด์ง„ Video์™€ Transcript ์ •๋ณด๋ฅผ ๋งŒ๋“ค์–ด์„œ DB์— ์ €์žฅํ•˜๋„๋ก ํ•œ๋‹ค.

  3. url์„ ๋„˜๊ฒจ๋ฐ›์„ ๊ฒฝ์šฐ, ์•Œ์•„์„œ parsing ํ•ด์„œ video์˜ id (v="***") ๋ฅผ ์ฐพ์•„์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

  4. React๊ฐ€ ๋„˜๊ฒจ๋ฐ›์€ ์ •๋ณด๋ฅผ render์— ๋ฟŒ๋ ค์ค„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

[TASK] Combine server and client

์„œ๋ฒ„ ์ฝ”๋“œ์™€ ํด๋ผ์ด์–ธํŠธ ์ธก ์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•œ๋‹ค.

[STORY] display sentence block info

์„œ๋น„์Šค ์ œ๊ณต์ž๋Š” ๊ณ ๊ฐ์ด ๋ฒˆ์—ญํ•  ๋ฌธ์žฅ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ, ๋ฆฌ์ŠคํŠธ ๋ทฐ์—์„œ ๋ฌธ์žฅ ๋ธ”๋ก์— ๊ด€ํ•œ ๋‹ค์–‘ํ•œ ์ •๋ณด(์‹œ๊ฐ„, ๋ฒˆ์—ญ ์ˆ˜, ์ตœ๋‹ค ์ถ”์ฒœ ์ˆ˜)๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Set-up http nodejs server and mongodb connection

  • nodejs ์„ค์น˜
  • ngrok? ip direct?
  • ๋ชฝ๊ณ  ๋””๋น„ ์„ค์น˜ ๋ฐ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ
  • ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ ‘์†ํ–ˆ์„ ์‹œ ๋ฐ˜์‘์ด ์˜ค๋Š”์ง€ ํ…Œ์ŠคํŠธ

[TASK] url routing, page redirection, request for youtube url

  • ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€ url ์ •ํ•˜๊ธฐ

  • ์œ ํŠœ๋ธŒ url ์ž…๋ ฅ ํ›„, ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, ํ•ด๋‹น url์ด ์„œ๋ฒ„์— ์ž˜ ์ „์†ก๋˜๋Š”์ง€ ํ™•์ธ

  • ์„œ๋ฒ„์— url์ด ์ž˜ ๋„์ฐฉํ•œ ์ดํ›„, ํŽ˜์ด์ง€ ๋ฆฌ๋‹ค์ด๋ ‰์…˜๊ธฐ๋Šฅ ๊ตฌํ˜„

[EPIC] Select video with url

๊ณ ๊ฐ์€ ๋ฒˆ์—ญ์„ ์›ํ•˜๋Š” ์˜์ƒ์„ ์„ ํƒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

[STORY] control video play with enter key

๊ณ ๊ฐ์€ ์›ํ•˜๋Š” ๋ธ”๋ก์˜ ์˜์ƒ์„ ์žฌ์ƒํ•˜๊ธฐ ์œ„ํ•ด, ์—”ํ„ฐ ํ‚ค๋กœ ์˜์ƒ ์žฌ์ƒ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

[TASK] Edit raw English sentence

๊ณ ๊ฐ์€ ํ”„๋กœ๊ทธ๋žจ์ด ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•œ ์˜์–ด ๋ฌธ์žฅ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.