Skip to content
/ HARU Public

점진적인 학습 및 학습 트래킹이 가능한 JLPT 단어 어플리케이션

Notifications You must be signed in to change notification settings

6-keem/HARU

Repository files navigation

🌸 하루(春) - JLPT 단어 학습

📚 목차

1. 📌 프로젝트 소개
2. ⚙ 프로젝트 구조 
3. 📼시연 영상
4. 🔧 적용 기술
README_IMAGE

📌 프로젝트 소개

앱 소개

  • 하루(春)는 언어 공부에 가장 중요한, 단어 암기에 중점을 둔 앱이다.
  • 단어는 자격증 시험 레벨(N1~N5)별로 나누어져 있어 쉬운 단어부터 어려운 단어까지 점진적으로 공부할 수 있다.
  • 학습 카드에는 한자 단어만 표시되며, 이미 암기한 경우 다음 카드로 넘어갈 수 있다
  • 기억이 나지 않는 경우, 확인하기 버튼을 누르면 카드가 뒤집히며 품사, 뜻, 예문 등이 표시 된다.
  • 뒤집힌 카드에서는 원어민 발음을 들을 수 있고, 단어의 상세 정보 검색, 북마크가 가능하다.
  • 원하는 레벨(N1~N5)에 대해 시험을 볼 수 있습니다. 4지선다 문제로 각 문제의 유형은 랜덤이다.
  • 학습이 완료되면 해당 학습에 대한 결과가 표시된다.
  • 대시보드 화면에서는 다양한 그래프를 통해 학습 현황(레벨 별 진도, 정답률, 출석 현황)을 알 수 있다.
    ※ 1일 4회 이상 학습 : 핑크, 3회 : 연핑크, 2회 : 주황, 1회 : 노랑

개발 목적

  • 어학 자격증 취득에 있어 단어의 암기는 매우 중요하지만, 꾸준히 공부하기 힘든 경향이 있다.
  • 날씨 같은 사소하지만 중요한 정보를 제공하여, 매일 습관적으로 앱에 들어오도록 유도하여 접근성을 높인 앱을 개발하고자 하였다.
  • 출시되어 있는 앱의 대부분은 단어의 모든 정보를 한 번에 표시하여, 학습자는 단어 보고 암기하고 있다고 느끼지만, 막상 그렇지 못한 경우가 많다.
  • 따라서 모든 정보 표시하기 전에 학습자 스스로 생각할 시간을 주어, 본인의 암기 여부를 확인할 수 있도록 하였다.
  • 현재 학습의 진행도를 파악하고, 하루하루 성장하는 것을 보는 것은 학습의 원동력이 되기도 한다.
  • 이를 위해 출석, 레벨(N1~N5)별 진행률, 시험 정답률 등의 통계 수치를 제공하고자 하였다.

기대 효과

  • 단계적인 학습을 통해 한자에 익숙해질 수 있을 것이다.
  • 예문을 제공하여, 단어가 사용되는 맥락을 파악할 수 있을 것이다.
  • TTS 기능을 활용한 원어민 발음을 통해, 정확한 발음을 학습할 수 있을 것이다.
  • 암기가 어려운 단어는 북마크 기능을 통해 반복적인 학습으로 학습에 용이할 것이다.
  • 레벨별 학습률, 테스트 정답률, 연속 출석 여부를 보고 학습 성취감을 느낄 수 있을 것이다.

📼시연 영상

Video Label

⚙ 프로젝트 구조

Architecture Diagram

🔧 적용 기술

개발 환경

  • Windows

개발 도구

  • Android StudioVisual Studio Code

개발 언어

  • JavaPython

활용 라이브러리 및 API

  • Selenium, Retrofit2, Room, Google Mobile Service (GMS), Text-to-speech, MPAndroidChart
❗ PYTHON, SELENIUM
  • 데이터 크롤링을 위해 사용되었으며, 해당 소스코드 및 데이터 파일은 제공하지 않습니다.

⚠주의사항

  • 날씨 기능은 OpenWeatherMap API를 사용하였습니다. 해당 기능을 사용하기 위해서 다음과 같은 과정이 필요합니다.
    1. OpenWeatherMap에 회원가입 후 무료 Weather API 등록합니다.
    2. 프로젝트 폴더 → local.propertiesweather_api_key = "발급 받은 키"를 추가 합니다.
  • 기능을 사용하려면 설정 페이지에서 앱의 위치 권한을 항상 허용으로 바꿔주세요.

💡 추후 보완 사항

  • [Refactor] : 빠른 앱 개발 수행으로 클래스 구조, 패키지 구조, DB 속성 명 등 신경 쓰지 못한 부분에 대한 리팩토링 필요
  • [Migration] : 현재 모든 정보를 Room Database를 사용하여 로컬에 저장 필연적으로 앱의 크기가 커질 수 밖에 없고 앱의 데이터를 삭제하면 모든 정보가 사라진다는 단점이 존재하기에, 서버에 데이터 베이스를 구축하고 이전하는 것이 필요
  • [Add] : 데이터베이스 이전 시 서버 쪽과 통신이 필요하기에, Spring boot를 사용하여 Restful API 구축이 필요

About

점진적인 학습 및 학습 트래킹이 가능한 JLPT 단어 어플리케이션

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages