Skip to content

rlaksl/JavaNyang

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

134 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๊ธฐ์ดˆ ๋ฌธ๋ฒ•๋ถ€ํ„ฐ ๊ณ ๊ธ‰๊นŒ์ง€, ๋‹จ๊ณ„๋ณ„ ์ž๋ฐ” ํ•™์Šต ํ€ด์ฆˆ ํ”Œ๋žซํผ

JavaNyang ์˜จ๋ผ์ธ ํ€ด์ฆˆ ํ”Œ๋žซํผ - ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ํŽธ๋ฆฌํ•˜๊ฒŒ, 1:1 ์‹ค์‹œ๊ฐ„ ํ€ด์ฆˆ ๋ฐฐํ‹€!
๊ฐœ๋ฐœ๊ธฐ๊ฐ„: 2025.05 ~ 2025.07

๋ฐฐํฌ ์ฃผ์†Œ

์„œ๋น„์Šค ๋งํฌ : hyunsuplee.github.io/JavaNyang/
PPT ๋งํฌ : JavaNyang PPT
์‹œ์—ฐ ์˜์ƒ : youtu.be/uUBhM42BH-0

์‹œ์ž‘ ๊ฐ€์ด๋“œ

Installation

$ git clone [repository-url]
$ cd javanyang-project
$ npm install
$ npm start

ํŒ€์› ์†Œ๊ฐœ

JavaNyang PPT (1) JavaNyang PPT

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

JavaNyang์€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•™์Šต์„ ์œ„ํ•œ ์˜จ๋ผ์ธ ํ€ด์ฆˆ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๊ธฐ์ดˆ ๋ฌธ๋ฒ•๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ๊ฐœ๋…๊นŒ์ง€ ๋‹จ๊ณ„๋ณ„ ํ•™์Šต ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜์—ฌ, ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ๋ฐ์Šคํฌํƒ‘ ๋˜๋Š” ๋ชจ๋ฐ”์ผ๋กœ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1:1 ์‹ค์‹œ๊ฐ„ ํ€ด์ฆˆ ๋ฐฐํ‹€์„ ํ†ตํ•ด ๋ชฐ์ž…๋„์™€ ํ•™์Šต ๋™๊ธฐ๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๊ถ๊ธˆํ•œ ์ ์€ ๋ฐ”๋กœ๋ฐ”๋กœ ์ฑ„ํŒ…์œผ๋กœ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ํ™œ๋ฐœํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์ œ ์„ ์ • ๋ฐฐ๊ฒฝ

  • ํ˜ผ์ž ํ•™์Šตํ•˜๋Š” ๊ตฌ์กฐ์˜ ํ•œ๊ณ„: ๊ธฐ์กด ํ•™์Šต์„œ๋น„์Šค๋Š” ๋‚˜ํ™€๋กœ ํ•™์Šตํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๋™๊ธฐ๋ถ€์—ฌ๊ฐ€ ๋‚ฎ์Œ
  • ์†Œํ†ต ์—†๋Š” ํ’€์ด ํ™˜๊ฒฝ: ์‹ค์‹œ๊ฐ„์œผ๋กœ ์˜๊ฒฌ์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๊ธฐ๋Šฅ ๋ถ€์กฑ
  • ์‹ค์‹œ๊ฐ„ ๋Œ€์ „์˜ ํ•„์š”์„ฑ: ๊ฒฝ์Ÿ์„ ํ†ตํ•ด ๋ชฐ์ž…๊ฐ ์žˆ๊ฒŒ ํ•™์Šตํ•˜๋Š” ํ™˜๊ฒฝ
  • ์‚ฌ์šฉ์ž ์ฐธ์—ฌํ˜• ์ฝ˜ํ…์ธ  ๋ถ€์กฑ: ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ

ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  • ์˜จ๋ผ์ธ ์ž๋ฐ” ํ€ด์ฆˆ ํ•™์Šต ํ™˜๊ฒฝ ๊ตฌ์ถ• - ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ํ•™์Šต ์‹œ์Šคํ…œ ์ œ๊ณต
  • ์‚ฌ์šฉ์ž ๊ฐ„ ์‹ค์‹œ๊ฐ„ ํ€ด์ฆˆ ๋Œ€์ „ ๊ธฐ๋Šฅ ๊ตฌํ˜„ - ๋ชฐ์ž…๋„๋ฅผ ๋†’์ผ 1:1 ์‹ค์‹œ๊ฐ„ ํ€ด์ฆˆ ๋Œ€์ „
  • ๋žญํ‚น ๋ฐ ์—…์  ๊ธฐ๋ฐ˜์˜ ๋™๊ธฐ ๋ถ€์—ฌ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ - ํ•™์Šต ์„ฑ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ณ  ๊ฒฝ์Ÿ ์š”์†Œ๋ฅผ ๋”ํ•ด ์ง€์†์ ์ธ ํ•™์Šต ์œ ๋„
  • ๊ฐœ์ธ ํ€ด์ฆˆ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์ž๊ธฐ ์ฃผ๋„ ํ•™์Šต ์ง€์› - ๋‚˜์˜ ํ•™์Šต ๊ธฐ๋ก์„ ํ†ตํ•ด ๋ถ€์กฑํ•œ ์˜์—ญ์„ ์Šค์Šค๋กœ ์ ๊ฒ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„

์ฐจ๋ณ„ํ™” ํฌ์ธํŠธ

  • ํ€ด์ฆˆ ์ค‘์‹ฌ ์‹ค์‹œ๊ฐ„ ํ•™์Šต: ์ •์ ์ธ ๋ฌธ์„œ ์œ„์ฃผ์˜ W3Schools์™€ ๋‹ฌ๋ฆฌ, ์‹ค์‹œ๊ฐ„ ํ€ด์ฆˆ๋ฅผ ํ†ตํ•ด ์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ๊ณผ ๋ชฐ์ž…๋„ ๋†’์€ ํ•™์Šต ์ œ๊ณต
  • 1:1 ํ€ด์ฆˆ ๋Œ€์ „ ๊ฐ€๋Šฅ: ๋‹จ์ˆœํ•œ ์˜ˆ์ œ ํ•™์Šต์„ ๋„˜์–ด์„œ, ์‚ฌ์šฉ์ž ๊ฐ„ ์‹ค์‹œ๊ฐ„ ๋Œ€๊ฒฐ์„ ํ†ตํ•ด ๊ฒฝ์Ÿ ๋ฐ ์Šค๋ฆด์žˆ๋Š” ํ•™์Šต
  • ์—…์ ยท๋žญํ‚น ์‹œ์Šคํ…œ ํƒ‘์žฌ: ํ•™์Šต ์„ฑ์ทจ๋ฅผ ๊ฐ€์‹œํ™”ํ•˜๋Š” ์—…์ ๊ณผ ์ˆœ์œ„ ์‹œ์Šคํ…œ์œผ๋กœ ์ง€์†์ ์ธ ๋™๊ธฐ ๋ถ€์—ฌ ์ œ๊ณต
  • ๊ฐœ์ธ ๋งž์ถคํ˜• ๊ธฐ๋ก ๋ถ„์„: ์‚ฌ์šฉ์ž๋ณ„ ํ€ด์ฆˆ ์ œ์ถœยท์ •๋‹ต๋ฅ  ๋“ฑ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ถ„์„์œผ๋กœ ๋ถ€์กฑํ•œ ์˜์—ญ์„ ์ง„๋‹จํ•˜์—ฌ ์žฌํ•™์Šต ๊ฐ€๋Šฅ

Stacks ๐Ÿˆ

Language

HTML5 CSS3 JavaScript

Development Tools

Visual Studio Code Vite Github

Frameworks & Libraries

React Bootstrap

Backend & Database

Supabase PostgreSQL

Design & Planning

Figma


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

โญ๏ธ ์นดํ…Œ๊ณ ๋ฆฌ ๋ฐ ๋‚œ์ด๋„๋ณ„ ํ€ด์ฆˆ ํ’€์ด

  • ์ฃผ์ œ(๋ณ€์ˆ˜, ์ œ์–ด๋ฌธ ๋“ฑ)์™€ ๋‚œ์ด๋„(์ดˆ๊ธ‰/์ค‘๊ธ‰/๊ณ ๊ธ‰)๋ณ„ ํ€ด์ฆˆ ์„ ํƒ
  • ์ฒด๊ณ„์ ์ธ ๋‹จ๊ณ„๋ณ„ ํ•™์Šต ์‹œ์Šคํ…œ

โญ๏ธ ์‹ค์‹œ๊ฐ„ ๋Œ€์ „ ๋ฐ ์ฑ„ํŒ…

  • ์‚ฌ์šฉ์ž ๊ฐ„ ์‹ค์‹œ๊ฐ„ 1:1 ํ€ด์ฆˆ ๋Œ€์ „
  • ์ฑ„ํŒ…์„ ํ†ตํ•œ ์žฌ๋ฏธ์™€ ๋ชฐ์ž…๋„ ๋†’์€ ๊ฒฝ์Ÿ ํ•™์Šต

โญ๏ธ ๊ฒŒ์ž„ํ™” ์š”์†Œ

  • ์—…์ , ๋žญํ‚น, ์ •๋‹ต๋ฅ  ๋ถ„์„์„ ํ†ตํ•œ ์„ฑ์ทจ๊ฐ ์ž๊ทน
  • ๊พธ์ค€ํ•œ ํ•™์Šต์„ ์œ ๋„ํ•˜๋Š” ๋™๊ธฐ ๋ถ€์—ฌ ์‹œ์Šคํ…œ

โญ๏ธ ์‚ฌ์šฉ์ž ์ปค์Šคํ…€ ํ€ด์ฆˆ ๋“ฑ๋ก

  • ์ง์ ‘ ํ€ด์ฆˆ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
  • ํ•™์Šต์ž ์ค‘์‹ฌ์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜ ์ฝ˜ํ…์ธ  ํ™œ์„ฑํ™”

๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ

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

  • 2025.05.07 - 2025.05.21: ํ”„๋กœ์ ํŠธ ๊ธฐํš & UI ์„ค๊ณ„

    • ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ์„ ์ • ๋ฐ ์ปจ์…‰ ์ •์˜
    • ํ”ผ๊ทธ๋งˆ๋ฅผ ํ™œ์šฉํ•œ UI/UX ํ™”๋ฉด ์„ค๊ณ„
    • ํ•ต์‹ฌ๊ธฐ๋Šฅ ๊ธฐํš ๋ฐ ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜
    • ์‚ฌ์šฉ์ž ํ”Œ๋กœ์šฐ ๋ฐ ์‹œ์Šคํ…œ ๊ตฌ์กฐ ์„ค๊ณ„
  • 2025.05.21 - 2025.06.19: ๊ฐœ๋ฐœ & ๊ตฌํ˜„

    • Supabase ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•
    • ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋ฐ ๊ด€๊ณ„ ์„ค์ •
    • ์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ์„ ์œ„ํ•œ RLS ์ •์ฑ… ์„ค์ •
    • React ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ
  • 2025.06.19 - 2025.07.10: ๋งˆ๋ฌด๋ฆฌ & ๋ฐœํ‘œ ์ค€๋น„

    • ์ตœ์ข… ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
    • ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”
    • ๋ฐœํ‘œ ์ž๋ฃŒ ์ œ์ž‘ ๋ฐ ๋ฐœํ‘œ ์ค€๋น„

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

๊ธฐ์ˆ  ์Šคํƒ ๊ตฌ์กฐ

  • ํ”„๋ก ํŠธ์—”๋“œ - React + Vite: ๋น ๋ฅธ ๊ฐœ๋ฐœ๊ณผ ํ•ซ ๋ฆฌ๋กœ๋”ฉ์„ ์ง€์›ํ•˜๋Š” Vite ๊ธฐ๋ฐ˜์˜ React SPA ๊ตฌ์กฐ๋กœ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ
  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค - Supabase: ์ธ์ฆ, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์Šคํ† ๋ฆฌ์ง€, ์„œ๋ฒ„๋ฆฌ์Šค ํ•จ์ˆ˜๊นŒ์ง€ ํ†ตํ•ฉ ์ œ๊ณตํ•˜๋Š” BaaS ํ”Œ๋žซํผ ํ™œ์šฉ
  • ์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ - Supabase Realtime: ์›น์†Œ์ผ“ ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ํ€ด์ฆˆ ๋Œ€์ „ ๋ฐ ์ฑ„ํŒ… ๊ธฐ๋Šฅ์œผ๋กœ ์‚ฌ์šฉ์ž ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ ๊ตฌํ˜„
  • ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ๋ถ„์„ - ํ€ด์ฆˆ ํ†ต๊ณ„ ์‹œ์Šคํ…œ: ํ€ด์ฆˆ๋ณ„ ์ •๋‹ต๋ฅ , ์ œ์ถœ ์ˆ˜, ์œ ์ € ๊ธฐ๋ก ๋“ฑ์„ ์ˆ˜์ง‘ ๋ฐ ์‹œ๊ฐํ™”ํ•ด ๋งž์ถคํ˜• ํ•™์Šต ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต

ํ”Œ๋žซํผ ์ง€์›

  • Mobile & Tablet: ๋‚ด ์†์•ˆ์˜ ์ž๋ฐ” ํ•™์Šต์‹ค - "์–ธ์ œ ์–ด๋””์„œ๋‚˜, 5๋ถ„์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค." ๋ฐ”์œ ์ผ์ƒ ์†์—์„œ๋„ ํ•œ ์†์œผ๋กœ ์ฆ๊ธฐ๋Š” ์‹ค์‹œ๊ฐ„ ํ€ด์ฆˆ ๋Œ€์ „!
  • Desktop: ๋ชฐ์ž…๊ฐ ์žˆ๋Š” ํ’€์Šคํฌ๋ฆฐ ํ•™์Šต ๊ฒฝํ—˜ - "๋” ๋„“๊ฒŒ, ๋” ๊นŠ์ด ๋ฐฐ์šฐ๋‹ค." ๋„‰๋„‰ํ•œ ํ™”๋ฉด๊ณผ ์ •๊ตํ•œ ์กฐ์ž‘์œผ๋กœ ํ€ด์ฆˆ, ํ†ต๊ณ„, ๋Œ€์ „๊นŒ์ง€ ํ•œ๋ˆˆ์—!

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

project/
โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ index.html           # HTML ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ
โ”‚   โ””โ”€โ”€ favicon.ico          # ์•„์ด์ฝ˜ ํŒŒ์ผ
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ assets/              # ์ด๋ฏธ์ง€, ํฐํŠธ ๋“ฑ ์ •์  ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ components/          # ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ hooks/               # ์ปค์Šคํ…€ ํ›… ๋ชจ์Œ
โ”‚   โ”œโ”€โ”€ pages/               # ๊ฐ ํŽ˜์ด์ง€๋ณ„ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ App.js               # ๋ฉ”์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ index.js             # ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ index.css            # ์ „์—ญ css ํŒŒ์ผ
โ”‚   โ””โ”€โ”€ supabaseConfig.js    # supabase ์ธ์Šคํ„ด์Šค ์ดˆ๊ธฐํ™” ํŒŒ์ผ
โ”œโ”€โ”€ package-lock.json        # ์ •ํ™•ํ•œ ์ข…์†์„ฑ ๋ฒ„์ „์ด ๊ธฐ๋ก๋œ ํŒŒ์ผ
โ”œโ”€โ”€ package.json             # ํ”„๋กœ์ ํŠธ ์ข…์†์„ฑ ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์ •์˜
โ”œโ”€โ”€ .gitignore               # Git ๋ฌด์‹œ ํŒŒ์ผ ๋ชฉ๋ก
โ””โ”€โ”€ README.md                # ํ”„๋กœ์ ํŠธ ๊ฐœ์š” ๋ฐ ์‚ฌ์šฉ๋ฒ•

๊ธฐ๋Œ€ ํšจ๊ณผ ๋ฐ ํ™œ์šฉ ๋ฐฉ์•ˆ

๐Ÿ’ก ๋Šฅ๋™์  ํ•™์Šต ์œ ๋„

ํ€ด์ฆˆ์™€ ๋Œ€์ „์„ ํ†ตํ•œ ์ฐธ์—ฌํ˜• ํ•™์Šต์œผ๋กœ, ์ˆ˜๋™์ ์ธ ์ด๋ก  ์•”๊ธฐ์—์„œ ๋ฒ—์–ด๋‚˜ ์‹ค์ „ ๊ฐ๊ฐ ํ–ฅ์ƒ

๐Ÿ“Š ๊ฐœ์ธ ๋งž์ถคํ˜• ํ•™์Šต ๊ฐ•ํ™”

์ •๋‹ต๋ฅ , ์ œ์ถœ ์ด๋ ฅ ๋“ฑ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž๋ณ„ ์•ฝ์ ์„ ๋ณด์™„ํ•˜๋Š” ๋งž์ถค ์ „๋žต ๊ฐ€๋Šฅ

๐Ÿซ ๊ต์œก๊ธฐ๊ด€ยท์Šคํ„ฐ๋”” ๊ทธ๋ฃน ๋„์ž… ์šฉ์ด

์‹ค์‹œ๊ฐ„ ๋Œ€์ „๊ณผ ๋žญํ‚น ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•œ ๊ต๋‚ด or ์Šคํ„ฐ๋”” ๊ทธ๋ฃน ํ€ด์ฆˆ ๋Œ€ํšŒ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ต์œก ํ™œ๋™์— ์ ‘๋ชฉ

๐ŸŽฏ ์ง€์†์ ์ธ ์ž๊ธฐ ์ฃผ๋„ ํ•™์Šต ์œ ๋„

์—…์ ยท๊ธฐ๋กยทํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ์Šค์Šค๋กœ ํ•™์Šต ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ฐ˜๋ณต ํ›ˆ๋ จํ•˜๋„๋ก ์œ ๋„


JavaNyang
You Can Enjoy Unlimited Java quiz

โ“’ ๊น€ํ™˜ํฌ ยท ๊น€์˜ˆ์ง€ ยท ๋ฐฑ์œ ์„ 

About

Real-time Multiplayer Quiz Platform featuring live battles, ranking system, and progress tracking

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 73.4%
  • CSS 26.5%
  • HTML 0.1%