Skip to content

CSID-DGU/2024-1-OSS-team-5-OOP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€ Code-kids: 객체 지ν–₯ ꡐ윑용 ν”„λ‘œκ·Έλž¨

image 4

✨ ν”„λ‘œμ νŠΈ μ†Œκ°œ

객체 지ν–₯의 κ°œλ…μ„ λˆ„κ΅¬λ³΄λ‹€ μ‰½κ²Œ
객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ— λŒ€ν•΄ 깊이 μ΄ν•΄ν•˜κ³  μ μš©ν•  수 μžˆλ„λ‘ 돕기 μœ„ν•΄, 블둝 코딩을 ν™œμš©ν•œ μ‹œκ°μ  μ„€λͺ…을 μ€€λΉ„ν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 좔상화, μΊ‘μŠν™”, 상속, λ‹€ν˜•μ„± λ“±μ˜ κ°œλ…μ„ μΉœκ·Όν•˜κ²Œ μ „λ‹¬ν•˜λ©°, λ³΅μž‘ν•œ κ°œλ…λ„ μ‰½κ²Œ μ΄ν•΄ν•˜κ³  ν”„λ‘œκ·Έλž˜λ° μ‹€λ ₯을 ν–₯상할 수 μžˆλ„λ‘ μ„€κ³„ν–ˆμŠ΅λ‹ˆλ‹€.

μ—¬λŸ¬λΆ„λ“€μ΄ 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ„ λ°°μš°λŠ” 데 도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€!

πŸ§‘πŸ»β€πŸ’» νŒ€μ› μ†Œκ°œ

ν—ˆμ€μ • μ„œκ±΄μš° μ΄ν•΄λ‹ˆ
@eundeang @Shilvister @haeni82
Backend, Team Leader Frontend Frontend

πŸ—‚ λ°±μ—”λ“œ 기술 μŠ€νƒ

Nginx

πŸ—‚ ν”„λ‘ νŠΈμ—”λ“œ 기술 μŠ€νƒ

React JavaScript

πŸ“£ Communication

Notion Discord

πŸ› οΈ μ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜

image

πŸ’Ž μ‹œμž‘ κ°€μ΄λ“œ

Requirements

For building and running the application you need:

Installation

$ git clone https://github.com/CSID-DGU/2024-1-OSS-team-5-OOP.git
$ cd 2024-1-OSS-team-5-OOP

Backend

$ cd codekids_BE
$ ./gradlew build
$ java -jar codekids_BE.jar

Frontend

$ cd codekids_FE
$ nvm use v.14.19.3
$ npm install 
$ npm start

Blockly 블둝 μ»€μŠ€ν…€ ν•˜κΈ° 🧩

πŸͺ„μ»€μŠ€ν…€ 블둝을 μ œμž‘ν•˜κ³  블둝 μ •μ˜ μ½”λ“œμ™€ generator μ½”λ“œλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
Blockly Developer Tools

πŸ”ŽBlockly에 κ΄€λ ¨λœ μ „λ°˜μ μΈ κ°€μ΄λ“œλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
Blockly κ°€μ΄λ“œ

πŸ–₯️reactμ—μ„œ Blocklyλ₯Ό λΆˆλŸ¬μ˜€λŠ” 법을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
Blockly-react μ˜€ν”ˆμ†ŒμŠ€

ν™”λ©΄ ꡬ성 πŸ“Ί

이둠 νŽ˜μ΄μ§€
이둠 νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. ν”„λ‘œκ·Έλž¨μ˜ μ‹œμž‘ νŽ˜μ΄μ§€μ΄κ³  3가지 κ°œλ… 쀑 μ›ν•˜λŠ” κ°œλ…μ„ μ„ νƒν•©λ‹ˆλ‹€. λ°œλž„ν•œ bgm이 λ‚˜μ˜€λ©° 둜고 μ˜†μ˜ λ²„νŠΌμœΌλ‘œ μŒμ†Œκ±°κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€. 이둠 μ„€λͺ…은 이미지 ν•˜λ‹¨ λ²„νŠΌμ„ 톡해 skip이 κ°€λŠ₯ν•˜κ³  이둠을 λ‹€ ν•™μŠ΅ν•˜μ˜€λ‹€λ©΄ ν•΄λ‹Ή 이둠의 문제 λͺ©λ‘μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
문제 νŽ˜μ΄μ§€
문제 νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. 문제 전체 λͺ©λ‘μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 힌트 λ²„νŠΌμœΌλ‘œ 힌트λ₯Ό ν™•μΈν•˜κ³ , 되돌리기 λ²„νŠΌμœΌλ‘œ μ›Œν¬μŠ€νŽ˜μ΄μŠ€λ₯Ό μ΄ˆκΈ°ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 문제λ₯Ό λ§žμΆ”λ©΄ bgmκ³Ό ν•¨κ»˜ 성곡 λͺ¨λ‹¬μ΄ 뜨고 λ‹€μŒ λ‹¨κ³„λ‘œ λ„˜μ–΄κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
ν€΄μ¦ˆ νŽ˜μ΄μ§€
ν€΄μ¦ˆ νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. 이둠 ν•™μŠ΅μ„ μ™„λ£Œν•˜κ³  문제λ₯Ό λ‹€ ν’€μ—ˆλ‹€λ©΄ 마무리둜 이둠에 λŒ€ν•œ κ°„λ‹¨ν•œ κ°œλ… ν€΄μ¦ˆλ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€. ν€΄μ¦ˆλŠ” O/X와 μ˜€μ§€μ„ λ‹€λ‘œ κ΅¬μ„±λ˜μ–΄ 있고 맀번 λžœλ€ν•˜κ²Œ 좜λ ₯λ©λ‹ˆλ‹€. ν€΄μ¦ˆ 채점 κ²°κ³Όλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
κ°œλ°œμžμ—κ²Œ 문의 νŽ˜μ΄μ§€
블둝 μ½”λ”© 문제λ₯Ό λ‹€ ν’€κ³  ν€΄μ¦ˆκΉŒμ§€ μ™„λ£Œν•˜μ˜€λ‹€λ©΄ 였λ₯Έμͺ½ 상단에 체크 ν‘œμ‹œκ°€ μƒκΉλ‹ˆλ‹€. ν—€λ”μ˜ κ°œλ°œμžμ—κ²Œ μ œμ•ˆν•˜κΈ° λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ 이슈 νŽ˜μ΄μ§€λ‘œ λ„˜μ–΄κ°‘λ‹ˆλ‹€.

βš™οΈ μ£Όμš” κΈ°λŠ₯

πŸ‘©πŸ»β€πŸ« νŠœν† λ¦¬μ–Ό

  • 각 객체지ν–₯ κ°œλ…μ— λŒ€ν•œ μ„€λͺ… 제곡
  • 배경음 ON/OFF κΈ°λŠ₯ 제곡

πŸ€” 문제 풀어보기

  • 각 μ˜ˆμ œμ— νŠœν† λ¦¬μ–Ό 없이 직접 μ ‘κ·Ό
  • 이미 ν•΄κ²° μ™„λ£Œ 기둝이 μžˆλŠ” 문제의 경우 μ•„μ΄μ½˜ λ…ΈμΆœ

πŸ€– 블둝 μ½”λ”©

  • Blocklyλ₯Ό ν™œμš©ν•œ λΈ”λŸ­ μ½”λ”©
  • 주어진 상황에 λŒ€ν•œ 문제 ν•΄κ²°
  • μ„Έ λ‹¨κ³„λ‘œ κ΅¬μ„±λ˜λ©°, 각 단계별 힌트 제곡

✍️ ν€΄μ¦ˆ

  • 객체지ν–₯ κ°œλ…μ— λŒ€ν•œ 랜덀 ν€΄μ¦ˆ 제곡
  • O/X, μ˜€μ§€μ„ λ‹€ 문제 ν˜Όν•©
  • μ„œλ²„μ— μ‘°νšŒν•΄ μ •λ‹΅ μ—¬λΆ€ 확인 ν›„ 닡지 제곡

πŸ’‘ κ°œλ°œμžμ—κ²Œ μ œμ•ˆν•˜κΈ°

  • κΉƒν—ˆλΈŒ 이슈 νŽ˜μ΄μ§€λ‘œ λ¦¬λ‹€μ΄λ ‰νŠΈ

πŸ› οΈ 아킀텍쳐

디렉터리 ꡬ쑰

.
β”œβ”€β”€ codekids_BE
β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ main
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ java
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── oop
β”‚Β Β      β”‚Β Β  β”‚Β Β      └── codekids
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ Answer.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ CodekidsApplication.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ Concept.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ QuizType.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ config
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ AWSConfig.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  └── WebConfig.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ controller
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ProblemController.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ QuizController.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  └── TutorialController.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ dto
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ AnswerRequestDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ MultiChooseDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ProblemDetailDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ProblemDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ProblemsDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ QuizDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ QuizListDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ResponseDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ TutorialDetailDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ TutorialDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  └── TutorialsDto.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ entity
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ MultiChoose.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ Problem.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ProblemDetail.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ Quiz.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ Tutorial.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  └── TutorialDetail.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”œβ”€β”€ repository
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ MultiChooseRepository.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ProblemDetailRepository.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ ProblemRepository.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ QuizRepository.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  β”œβ”€β”€ TutorialDetailRepository.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          β”‚Β Β  └── TutorialRepository.java
β”‚Β Β      β”‚Β Β  β”‚Β Β          └── service
β”‚Β Β      β”‚Β Β  β”‚Β Β              β”œβ”€β”€ ProblemService.java
β”‚Β Β      β”‚Β Β  β”‚Β Β              β”œβ”€β”€ QuizService.java
β”‚Β Β      β”‚Β Β  β”‚Β Β              β”œβ”€β”€ S3Service.java
β”‚Β Β      β”‚Β Β  β”‚Β Β              └── TutorialService.java
β”‚Β Β      β”‚Β Β  └── resources
β”‚Β Β      β”‚Β Β      β”œβ”€β”€ application-dev.yaml
β”‚Β Β      β”‚Β Β      └── application.yaml
β”‚Β Β      └── test
β”‚Β Β          └── java
β”‚Β Β              └── oop
β”‚Β Β                  └── codekids
β”‚Β Β                      └── CodekidsApplicationTests.java
β”œβ”€β”€ codekids_FE
β”‚Β Β  β”œβ”€β”€ README.md
β”‚Β Β  β”œβ”€β”€ blockly-blockly-v11.0.0.-beta.6
β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ App.js
β”‚Β Β      β”œβ”€β”€ Blockly
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ BlocklyComponent.css
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ BlocklyComponent.jsx
β”‚Β Β      β”‚Β Β  └── index.js
β”‚Β Β      β”œβ”€β”€ blocks
β”‚Β Β      β”‚Β Β  └── customblocks.js
β”‚Β Β      β”œβ”€β”€ components
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ Header.css
β”‚Β Β      β”‚Β Β  └── Header.js
β”‚Β Β      β”œβ”€β”€ fields
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ BlocklyReactField.jsx
β”‚Β Β      β”‚Β Β  └── DateField.jsx
β”‚Β Β      β”œβ”€β”€ fonts
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ NanumGothic-Bold.ttf
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ NanumGothic-ExtraBold.ttf
β”‚Β Β      β”‚Β Β  └── NanumGothic-Regular.ttf
β”‚Β Β      β”œβ”€β”€ generator
β”‚Β Β      β”‚Β Β  └── generator.js
β”‚Β Β      β”œβ”€β”€ index.css
β”‚Β Β      β”œβ”€β”€ index.js
β”‚Β Β      β”œβ”€β”€ logo.png
β”‚Β Β      β”œβ”€β”€ pages
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ BlockPage.css
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ BlockPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ BlockPage.test.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ ButtonList.css
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ FailureModal.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ FinalBlockPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ HintModal.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ HintModal.module.css
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ Modal.css
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ NextBlockPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ ProblemPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ QuizCheckPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ QuizPage.css
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ QuizPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ SuccessModal.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ TutorialDetailPage.css
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ TutorialDetailPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ TutorialPage.js
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ alignlist.module.css
β”‚Β Β      β”‚Β Β  └── logo.png
β”‚Β Β      β”œβ”€β”€ reportWebVitals.js
β”‚Β Β      β”œβ”€β”€ setupTests.js
β”‚Β Β      └── seviceWorker.js
β”œβ”€β”€ node_modules
β”œβ”€β”€ package-lock.json
└── package.json
* μ€‘μš” νŒŒμΌλ“€λ§Œ λͺ…μ‹œν•¨

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published