Skip to content

goatyeon03/ML_Code_Insight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

30 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ Pytorch Experiment Dashboard

๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚œ ๋’ค, ์ฝ”๋“œ ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด ์ž˜ ๊ธฐ์–ต๋‚˜์ง€ ์•Š์•„ ์ •๋ฆฌ์— ์–ด๋ ค์›€์„ ๊ฒช์ง„ ์•Š์œผ์…จ๋‚˜์š”?

์ด ํ”„๋กœ๊ทธ๋žจ์€ Pytorch ๊ธฐ๋ฐ˜ ๋จธ์‹ ๋Ÿฌ๋‹ ์ฝ”๋“œ ํŒŒ์ผ์„ ์ž๋™ ๋ถ„์„ํ•˜์—ฌ ๋ชจ๋ธ ๊ตฌ์กฐ, ํ›ˆ๋ จ ์„ค์ •, ํŒŒ๋ผ๋ฏธํ„ฐ ํ†ต๊ณ„, ๊ฒฐ๊ณผ ์‹œ๊ฐํ™” ๋“ฑ์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์‹คํ—˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ๋น„๊ตํ•˜๊ณ , ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ์ด ํ”„๋กœ๊ทธ๋žจ์€ ๋กœ์ปฌ ์‹คํ–‰์„ ์ „์ œ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๋ฐฐํฌ URL์ด ์—†์œผ๋ฏ€๋กœ, ์•„๋ž˜ ์•ˆ๋‚ด์— ๋”ฐ๋ผ ์ง์ ‘ ์‹คํ–‰ํ•ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿš€ ๋กœ์ปฌ ์‹คํ–‰ ๋ฐฉ๋ฒ•

์ด ํ”„๋กœ๊ทธ๋žจ์€ FastAPI(๋ฐฑ์—”๋“œ) + Streamlit(ํ”„๋ก ํŠธ์—”๋“œ) ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์ˆœ์„œ ๊ทธ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1) ์ €์žฅ์†Œ ํด๋ก 

git clone https://github.com/goatyeon03/ML_Code_Insight.git
cd ML_Code_Insight

2) ์‹คํ–‰ ํ™˜๊ฒฝ ์„ธํŒ…

Python 3.11 ์ด์ƒ์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ์ดํ›„ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”.

python3.11 -m venv venv
source venv/bin/activate      # macOS/Linux
venv\Scripts\activate         # Windows

*์ผ๋ถ€ ๊ธฐ๋Šฅ์€ Google AI Studio Gemini API๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•„๋ž˜ ์‚ฌ์ดํŠธ์—์„œ ๋ฌด๋ฃŒ API Key๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


API Key ๋ฐœ๊ธ‰:
https://aistudio.google.com/app/apikey


ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •:
macOS / Linux:

export GOOGLE_API_KEY="๋ฐœ๊ธ‰๋ฐ›์€_API_ํ‚ค"

Windows PowerShell:

setx GOOGLE_API_KEY "๋ฐœ๊ธ‰๋ฐ›์€_API_ํ‚ค"

3) ๋ฐฑ์—”๋“œ ์‹คํ–‰ (FastAPI)

cd backend
pip install -r requirements.txt
uvicorn main:app --reload

FastAPI ๋ฌธ์„œ ์ ‘์†:

http://127.0.0.1:8000/docs

4) ํ”„๋ก ํŠธ์—”๋“œ ์‹คํ–‰ (Streamlit)

cd frontend
pip install -r requirements.txt
streamlit run app.py

Streamlit UI:

http://localhost:8501

๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์š”์•ฝ

Pytorch Experiment Dashboard๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ถ„์„ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ๐Ÿ” Code Parsing: ํ•™์Šต ์ฝ”๋“œ(.py)์—์„œ ๋ชจ๋ธ ๊ตฌ์กฐ, ํ•™์Šต ์„ค์ •, ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด๋ฅผ ์ž๋™ ์ถ”์ถœ
  • ๐ŸŽจ Model Visualization: ํŒŒ์‹ฑ๋œ ๋ชจ๋ธ์„ graphviz ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋„๋กœ ์‹œ๊ฐํ™”
  • ๐Ÿ“Š Training Summary: optimizer, epoch, batch_size ๋“ฑ ์ฃผ์š” ์„ค์ •์„ ์ž๋™ ์ธ์‹
  • โž— Parameter Counting: AST ๊ธฐ๋ฐ˜ ํŒŒ์‹ฑ + sandbox worker๋ฅผ ํ†ตํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ณ„์‚ฐ
  • ๐Ÿ“ˆ Result Visualization: JSON ํ•™์Šต ๋กœ๊ทธ๋ฅผ ์ž๋™ ์‹œ๊ฐํ™” (loss / classification / regression ๊ตฌ๋ถ„)
  • ๐Ÿ—‚๏ธ Project-based Comparison: ์‹คํ—˜ ํŒŒ์ผ๋“ค์„ ํ”„๋กœ์ ํŠธ ๋‹จ์œ„๋กœ ์ •๋ฆฌํ•˜๊ณ  ๋น„๊ต


(Demo_Video)

๐Ÿ“„์ด์šฉ ๊ฐ€์ด๋“œ

์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ ํ๋ฆ„์— ๋”ฐ๋ผ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ‘  ๋กœ๊ทธ์ธ & ํ”„๋กœ์ ํŠธ ์„ ํƒ

  1. ๋กœ๊ทธ์ธ ๋˜๋Š” ํšŒ์›๊ฐ€์ž…์„ ํ†ตํ•ด ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ, ์ฆ‰์‹œ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

โ‘ก ํ•™์Šต ์ฝ”๋“œ ์—…๋กœ๋“œ

  • ํ”„๋กœ์ ํŠธ๊ฐ€ ์„ ํƒ๋œ ์ƒํƒœ์—์„œ .py ํ•™์Šต ์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์€ ์ž๋™์œผ๋กœ ๋ถ„์„๋˜๋ฉฐ, ์ƒ๋‹จ์˜ ํŒŒ์ผ ์„ ํƒ ๋ฉ”๋‰ด์—์„œ ๋ถ„์„ ๋Œ€์ƒ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋™์ผ ํŒŒ์ผ ์žฌ์—…๋กœ๋“œ ์‹œ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค:
    1. ๋ฎ์–ด์“ฐ๊ธฐ
    2. ๋‚ด์šฉ์ด ๋‹ค๋ฅด๋ฉด ์ƒˆ ๋ฒ„์ „(v1, v2โ€ฆ)์œผ๋กœ ์ €์žฅ
    3. ์—…๋กœ๋“œ ์ทจ์†Œ

โ‘ข ์ฝ”๋“œ ๋ถ„์„ ๊ฒฐ๊ณผ ํ™•์ธ

์—…๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ๋ถ„์„ ํŒจ๋„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

  • Training Information: ๋ชจ๋ธ ๊ตฌ์กฐ(๊ทธ๋ž˜ํ”„ ํฌํ•จ), ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜, ํ•™์Šต ์„ค์ •
  • Result Visualization: JSON ๋กœ๊ทธ ๊ธฐ๋ฐ˜ ํ•™์Šต ๊ทธ๋ž˜ํ”„
  • Final Performance: ํŒŒ์ผ๋ณ„ test ์„ฑ๋Šฅ ์š”์•ฝ ํ‘œ

๊ฐ ํŒจ๋„์€ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ ๋ชฉ๋ก๊ณผ ์—ฐ๋™๋˜๋ฉฐ, ์—ฌ๋Ÿฌ ํŒŒ์ผ ๊ฐ„ ๋น„๊ต๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

โ‘ฃ ๊ฒฐ๊ณผ ํŒŒ์ผ(JSON) ์—…๋กœ๋“œ

  • ์ฝ”๋“œ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ์ ‘๋‘์‚ฌ(prefix)๋ฅผ ๊ฐ€์ง„ JSON ๋กœ๊ทธ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • loss / classification / regression ํ•ญ๋ชฉ์„ ์ž๋™ ๊ตฌ๋ถ„ํ•ด ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ž˜ํ”„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์‹œ์ ๋ณ„ ์„ธ๋ถ€ ์ˆ˜์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ‘ค ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

  • ํŒŒ์ผ ์‚ญ์ œ: ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ์‚ญ์ œ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋งค์นญ๋œ JSON ํŒŒ์ผ๋„ ํ•จ๊ป˜ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ์‚ญ์ œ: ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ํŒŒ์ผ์ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
  • ๊ณ„์ • ์‚ญ์ œ: ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ „์ฒด ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ์„ธ๋ถ€ ๊ธฐ๋Šฅ ์„ค๋ช…

์•„๋ž˜๋Š” ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ธฐ์ˆ ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

1. ์‚ฌ์šฉ์ž ๊ณ„์ • ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

  • ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž…
  • SQLite ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์žยทํ”„๋กœ์ ํŠธยทํŒŒ์ผ ์ €์žฅ
  • ์—…๋กœ๋“œ/์‚ญ์ œ ์‹œ DB์™€ ์ž๋™ ๋™๊ธฐํ™”
  • ์ƒˆ๋กœ๊ณ ์นจ์—๋„ ํŽ˜์ด์ง€ ์ƒํƒœ ์œ ์ง€

2. ํ”„๋กœ์ ํŠธ ๋ฐ ํŒŒ์ผ ๊ด€๋ฆฌ

ํ”„๋กœ์ ํŠธ ์„ ํƒ ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
  • ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ/์„ ํƒ/์‚ญ์ œ

- ํŒŒ์ผ ์—…๋กœ๋“œ, ์ค‘๋ณต ์ฒ˜๋ฆฌ(๋ฎ์–ด์“ฐ๊ธฐ/๋ฒ„์ „ ์ƒ์„ฑ/์ทจ์†Œ)

- ์—…๋กœ๋“œ ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œ์‹œ - ํŒŒ์ผ ์‚ญ์ œ ์‹œ ๋งค์นญ๋œ ๊ฒฐ๊ณผ ํŒŒ์ผ(JSON)๋„ ํ•จ๊ป˜ ์‚ญ์ œ

3. Training Information - ์ฝ”๋“œ ๋ฐ ๋ชจ๋ธ ๋ถ„์„

๋ชจ๋ธ ๊ตฌ์กฐ ๋ถ„์„

  • AST ๊ธฐ๋ฐ˜ model_parser ์ ์šฉ
  • ํ•„์š” ์‹œ LLM(Gemini) ๋ณด์กฐ ํ™œ์šฉ
  • Graphviz ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ๊ตฌ์กฐ ๋…ธ๋“œ ์‹œ๊ฐํ™”

- PyTorch ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ํ•œ ํ™”๋ฉด์—์„œ ํŒŒ์•… ๊ฐ€๋Šฅ

ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ๊ณ„์‚ฐ

- sandbox worker(param_worker)๋กœ ๊ฒฉ๋ฆฌ๋œ ๊ณ„์‚ฐ ํ™˜๊ฒฝ - mock_torch ๊ธฐ๋ฐ˜ ์•ˆ์ „ํ•œ ๋ชจ๋ธ ๋กœ๋”ฉ - ๊ณ„์‚ฐ ๋ถˆ๊ฐ€ ์‹œ ํ† ๊ธ€๋กœ ํ‘œ์‹œ

- LLM์„ ํ†ตํ•œ ์ถ”๊ฐ€ ๊ณ„์‚ฐ ์‹œ๋„ ๊ฐ€๋Šฅ

ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์ถ”์ถœ

- epoch, batch_size, optimizer ๋“ฑ ์ž๋™ ์ธ์‹ - pretrain / train / finetune ๊ตฌ์กฐ ์ž๋™ ๋ถ„๋ฅ˜

์บ์‹ฑ

  • ๊ตฌ์กฐ/ํŒŒ๋ผ๋ฏธํ„ฐ/์š”์•ฝ ์ •๋ณด ์บ์‹ฑ
  • ๋™์ผ ํŒŒ์ผ ์žฌ๋กœ๋“œ ์‹œ ์ฆ‰์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

4. Result Visualization

JSON ๋กœ๊ทธ ํŒŒ์‹ฑ

- loss / classification / regression ์ž๋™ ๋ถ„๋ฅ˜ - train/val ๊ทธ๋ž˜ํ”„ ๋ถ„๋ฆฌ - ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ํ† ๊ธ€ ๋ฐฉ์‹์œผ๋กœ ๋น„๊ต ๊ฐ€๋Šฅ

์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๊ทธ๋ž˜ํ”„

  • ๋งˆ์šฐ์Šค ์˜ค๋ฒ„(hover) ์‹œ ์„ธ๋ถ€ ์ˆ˜์น˜ ํ‘œ์‹œ
  • ๋‹ค์–‘ํ•œ ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ๋น„๊ต ๊ฐ€๋Šฅ

5. Final Performance

- JSON ๋กœ๊ทธ์—์„œ test ์„ฑ๋Šฅ๋งŒ ์ถ”์ถœ - ์„ฑ๋Šฅ ๋†’์€ ์ˆœ์œผ๋กœ ์ •๋ ฌ - ํ”„๋กœ์ ํŠธ ๋‹จ์œ„ ์‹คํ—˜ ์ข…ํ•ฉ ์š”์•ฝ

6. ๊ธฐํƒ€ ๊ธฐ๋Šฅ

์—…๋กœ๋“œ ํŒŒ์ผ ์—†์„ ๋•Œ ๋„์›€๋ง
  • ํ”„๋กœ์ ํŠธ์— ํŒŒ์ผ์ด ์—†์„ ๋•Œ ์ƒ˜ํ”Œ ํ•™์Šต ์ฝ”๋“œ/๊ฒฐ๊ณผ ํŒŒ์ผ ์ œ๊ณต
  • ํ™”๋ฉด ํ•˜๋‹จ ? ์•„์ด์ฝ˜์—์„œ ์‚ฌ์ดํŠธ ์ด์šฉ ๋ฐฉ๋ฒ• ๊ฐ„๋‹จ ์•ˆ๋‚ด

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

Pytorch_Experiment_Dashboard/
โ”‚
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ api.py                   # FastAPI ์—”ํŠธ๋ฆฌํฌ์ธํŠธ
โ”‚   โ”œโ”€โ”€ requirements.txt         # ๋ฐฑ์—”๋“œ ํŒจํ‚ค์ง€ ๋ชฉ๋ก
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ llm/                     # LLM ๊ธฐ๋ฐ˜ ๋ณด์กฐ ๋ถ„์„ ๋ชจ๋“ˆ
โ”‚   โ”‚   โ”œโ”€โ”€ gemini.py            # Gemini API ๋ž˜ํผ
โ”‚   โ”‚   โ”œโ”€โ”€ model_name_extractor.py
โ”‚   โ”‚   โ”œโ”€โ”€ param_estimator.py
โ”‚   โ”‚   โ””โ”€โ”€ refine_summary.py
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ parsers/                 # AST ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๋ถ„์„๊ธฐ
โ”‚   โ”‚   โ”œโ”€โ”€ code_parser.py       # ํ•™์Šต ์„ค์ • / ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŒŒ์„œ
โ”‚   โ”‚   โ”œโ”€โ”€ model_parser.py      # ๋ชจ๋ธ ๊ตฌ์กฐ ํŒŒ์„œ
โ”‚   โ”‚   โ”œโ”€โ”€ module_collector.py  # ๋ชจ๋ธ ๊ตฌ์„ฑ ์š”์†Œ ์ˆ˜์ง‘๊ธฐ
โ”‚   โ”‚   โ”œโ”€โ”€ param_counter.py     # AST ๊ธฐ๋ฐ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ณ„์‚ฐ๊ธฐ
โ”‚   โ”‚   โ””โ”€โ”€ param_worker.py      # ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์•ˆ์ „ ์‹คํ–‰ํ•˜๋Š” ์›Œ์ปค
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ routes/                  # FastAPI ๋ผ์šฐํŠธ(์—”๋“œํฌ์ธํŠธ) ๋ชจ์Œ
โ”‚   โ”‚   โ””โ”€โ”€ ...                  # ์˜ˆ: upload, delete, query ๋“ฑ
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ uploads/                 # ์—…๋กœ๋“œ๋œ ํŒŒ์ผ ์ €์žฅ
โ”‚   โ””โ”€โ”€ __init__.py
โ”‚
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ app.py                   # Streamlit ๋ฉ”์ธ ์•ฑ
โ”‚   โ”œโ”€โ”€ requirements.txt         # ํ”„๋ก ํŠธ์—”๋“œ ํŒจํ‚ค์ง€ ๋ชฉ๋ก
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ modules/
โ”‚   โ”‚   โ”œโ”€โ”€ diff_utils.py        # ์ฝ”๋“œ diff ๋ถ„์„
โ”‚   โ”‚   โ”œโ”€โ”€ manage_account.py
โ”‚   โ”‚   โ”œโ”€โ”€ manage_files.py      # ํŒŒ์ผ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ
โ”‚   โ”‚   โ”œโ”€โ”€ model_blocks.py      # ๋ชจ๋ธ ๊ตฌ์กฐ ๋ธ”๋ก ์‹œ๊ฐํ™”
โ”‚   โ”‚   โ””โ”€โ”€ project_dashboard.py # ํ”„๋กœ์ ํŠธ ๋ฉ”์ธ ๋Œ€์‹œ๋ณด๋“œ
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ”œโ”€โ”€ auth.py              # ์ธ์ฆ ๊ด€๋ จ ์œ ํ‹ธ
โ”‚   โ”‚   โ”œโ”€โ”€ db.py                # SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ
โ”‚   โ”‚   โ”œโ”€โ”€ file_ops.py          # ํŒŒ์ผ ์ฒ˜๋ฆฌ ์œ ํ‹ธ
โ”‚   โ”‚   โ””โ”€โ”€ match_utils.py       # ํŒŒ์ผ ๋งค์นญ ๋กœ์ง
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ __init__.py
โ”‚
โ””โ”€โ”€ README.md

๐Ÿ›ฃ๏ธ ํ–ฅํ›„ ๊ฐœ๋ฐœ ๋กœ๋“œ๋งต

  • ๋‹ค์ค‘ ์ฝ”๋“œ ํŒŒ์ผ ๊ณ ๋ ค
  • ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ๊ฐ•ํ™”
  • ๊ฒฐ๊ณผ ํŒŒ์ผ ์ž๋™ ๋งค์น˜ ๊ธฐ๋Šฅ ๊ฐ•ํ™”
  • ๋ฐฐํฌ

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

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ €์žฅ์†Œ์— ํฌํ•จ๋œ LICENSE ํŒŒ์ผ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘ค ์ž‘์„ฑ์ž

Yang Soyeon (์–‘์†Œ์—ฐ)

About

Open Source Software

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages