[비대면 교육으로 인한 아이들 교육의 어려움]
코로나로 인해 많은 교육 기관에서 비대면 교육을 실시하고 있습니다. 이로 인해 아이들의 교육 여건은 나빠지고 있습니다. 학부모들은 교육에 있어 자녀를 통제하고 동기 부여하는데 더 많은 어려움을 겪고 있는 실정입니다. 많은 교육 플랫폼과 툴이 등장하였지만 학습 편의를 위한 것일 뿐, 이를 통해 아이들의 학습 의욕을 고취하는 것은 역부족이었습니다.
[비대면으로도 아이들에게 직접적으로 동기 부여할 방법이 있지 않을까?]
이에 저희 팀에서는 아이들에게 직접적인 동기부여를 제공하는 교육 플랫폼 '캔디(Candy)'를 제안합니다. '캔디'는 플랫폼의 화폐 단위를 뜻합니다. 플랫폼에서는 실시간으로 교육과 이에 해당하는 챌린지를 제공합니다. 학부모는 '캔디'를 충전한 뒤 이를 챌린지에 배정합니다. 아이가 이 챌린지를 완수할 경우 배정된 캔디 만큼의 보상을 받습니다. 아이들은 직접적인 보상이 존재하므로 더욱 열심히 교육에 참여할 것이고 학부모들은 목표 의식이 아직 부족한 아이들을 위해 필요한 교육을 선정하여 학습 방향을 설정할 수 있을 것입니다. '캔디' 플랫폼은 교육 기관, 강사, 일반 튜터 등과의 협업을 통해 무궁무진한 형태로 발전할 수 있을 것입니다.
서버
- IDE : IntelliJ IDEA
- Gradle
- Java 11
- Spring 2.5.2
- H2 Database
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation("com.google.guava:guava:30.1.1-jre")
implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.2'
implementation group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.2'
implementation group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.2'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.6.2'
implementation 'com.auth0:java-jwt:3.18.1'
implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'
implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'
annotationProcessor group: 'org.springframework.boot', name: 'spring-boot-configuration-processor'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'
implementation 'javax.validation:validation-api:2.0.1.Final'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.json:json:20190722'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
annotationProcessor(
"javax.persistence:javax.persistence-api",
"javax.annotation:javax.annotation-api",
"com.querydsl:querydsl-apt:${queryDslVersion}:jpa")
}
안드로이드
- IDE : Android Studio
- Gradle
- Kotlin
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.5.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
def nav_version = "2.3.5"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation "androidx.fragment:fragment-ktx:1.3.5"
implementation "com.sun.mail:android-mail:1.6.6"
implementation "com.sun.mail:android-activation:1.6.6"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1"
def retrofit_ver = "2.9.0"
implementation "com.squareup.retrofit2:retrofit:$retrofit_ver"
implementation "com.squareup.retrofit2:converter-gson:$retrofit_ver"
implementation "com.squareup.okhttp3:logging-interceptor:4.9.1"
def lifecycle_version = "2.3.1"
def arch_version = "2.1.0"
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
// Glide
implementation 'com.github.bumptech.glide:glide:4.12.0'
kapt 'com.github.bumptech.glide:compiler:4.12.0'
// exoplayer
implementation 'com.google.android.exoplayer:exoplayer:2.15.0'
// rx
implementation 'android.arch.lifecycle:extensions:1.1.1'
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
implementation "io.reactivex.rxjava2:rxjava:2.2.0"
implementation "io.reactivex.rxjava2:rxandroid:2.0.2"
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'
}
- 코드 내려받기
git clone "https://github.com/LateNightSeoul/Candy"
Candy-Server\build\libs 의 jar 파일 실행 후 8080포트로 접근 가능
-
DB 접속
서버 실행 후 localhost:8080/h2-console
-
Api 문서 보기
서버 실행 후 localhost:8080/swagger-ui.html
- Android Studio 실행 후 File > New > Import Project 메뉴 선택
- Candy-Android 폴더 선택 후 OK 선택
- Build > Build Bundle(s) / APK(s) > Build APK(s) 메뉴 선택
- 빌드된 APK를 안드로이드 기기에 설치 후 실행
안드로이드 버전
- minSdkVersion 26
- targetSdkVersion 30
https://www.youtube.com/watch?v=tUKArhwD6yM
충전한 캔디로 챌린지에 배정할 수 있습니다.
캔디가 배정 된 챌린지로써 자녀가 도전 가능합니다.
커트라인 이상 획득 시 캔디를 획득합니다.
챌린지 도전에 성공하여 진행 중인 챌린지에서 완료된 챌린지로 상태 변경 및 캔디 20개를 획득한 모습