Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shinyeeun789/gswm-android
공부 시간 관리 앱 (Get Study With Me)
https://github.com/shinyeeun789/gswm-android
android android-studio google-map google-places-api java room-database sqlite
Last synced: 20 days ago
JSON representation
공부 시간 관리 앱 (Get Study With Me)
- Host: GitHub
- URL: https://github.com/shinyeeun789/gswm-android
- Owner: shinyeeun789
- Created: 2021-05-31T12:37:05.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-04-25T07:21:22.000Z (almost 2 years ago)
- Last Synced: 2024-11-21T12:48:24.521Z (3 months ago)
- Topics: android, android-studio, google-map, google-places-api, java, room-database, sqlite
- Language: Java
- Homepage:
- Size: 9.63 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GSWM
Android Studio 4.1 환경에서 Java를 사용하여 개발한 앱## 💻 프로젝트 소개
최근 들어 공부하는 모습을 찍어 SNS에 인증하거나 Youtube에서 공부 방송을 진행하는 등 공부 습관에 대한 관심도 나날이 높아지고 있습니다.
본 시스템은 사용자가 세운 목표를 달성함으로써 얻는 성취감으로 꾸준히 공부에 흥미를 느낄 수 있도록 도움을 주고자 개발하였습니다.
개발된 시스템을 통해 사용자는 쉽고 빠르게 스터디 플랜을 세워 이를 바탕으로 모든 목표를 달성할 수 있게 될 것이라 기대됩니다.### 🕰 개발 기간
2021.03.02 - 2021.06.30### 📚개발 환경
![Java](https://img.shields.io/badge/Java-007396.svg?&style=for-the-badge&logo=Java&logoColor=white)
![Android Studio](https://img.shields.io/badge/Android%20Studio-3DDC84.svg?&style=for-the-badge&logo=Android%20Studio&logoColor=white)
![Room](https://img.shields.io/badge/Room-1976D2.svg?&style=for-the-badge&logo=Java&logoColor=white)## 📱 주요 기능
### 1. 목표 및 디데이 추가
#### (1) 목표 추가
- 할 일과 하루 목표 분량 선택
- 시작 시간 선택
- 반복되는 목표 추가
#### (2) 디데이 추가
- 디데이 명과 날짜 선택
#### 📷 View
PIC1 : 목표/디데이 추가 Dialog
PIC2 : 목표 추가
PIC3 : 반복 목표 추가
PIC4 : 디데이 추가
### 2. 캘린더 및 To-Do List
#### (1) 캘린더
- MaterialCalendarView 라이브러리 사용
- 목표는 보라색으로, 디데이는 노란색으로 표시
#### (2) To-Do List
- 목표와 디데이를 RecyclerView에 동적으로 표시
- 목표 선택 시 목표 달성 여부를 변경할 수 있는 Dialog 출력
- Dialog의 ‘미달성’ 버튼 선택 시 목표 Table의 목표 달성 여부 필드가 X로 수정되고, ‘달성’ 버튼 선택 시 O로 수정
- Dialog의 '미룸' 버튼 선택 시 [목표 미루기] 기능으로 이동
#### 📷 View
PIC1 : 캘린더
PIC2 : To-Do List
### 목표 미루기
- 목표 Table에서 기존 목표의 달성 여부를 ⭢로, 미달성 분량을 입력된 값으로 수정
- 사용자가 선택한 날짜에 목표를 새로 추가
#### 📷 View
PIC1 : 목표 미루기
PIC2 : 목표 미룬 후 To-Do List
### 홈 화면
- 상단에는 오늘 날짜와 총 공부 시간 출력
- 하단에는 오늘의 목표가 RecyclerView에 동적 목록으로 출력
- 목표가 없는 경우 기본값 '공부시간 측정' 출력
- 원하는 목표 선택 시 [스톱워치] 기능으로 이동
#### 📷 View
PIC1 : 초기 홈
PIC2 : 공부시간 측정 후 홈
### 스톱워치
- Chronometer를 사용해 공부 시간 측정
- 앱이 잠자기 및 앱 대기 모드에 빠지더라도 측정이 중지되지 않도록 설정
- Foreground Service
#### 📷 View
PIC1 : 스톱워치
PIC2 : Foreground Service 실행
### 통계
- 일간 통계 / 주간 통계 / 월간 통계
- 캘린더에서 선택된 날짜에 해당하는 총 공부시간, 최대 집중 시간, 목표 달성률, 목표별 달성률 출력
- MPAndroidChart로 목표별 달성률 통계 도식화
#### 📷 View
PIC1 : 일간 통계
PIC2 : 주간 통계
PIC3 : 월간 통계
### 장소
- Google Map API 사용
- Googple Places API 사용
- fusedLocationProviderClient를 사용해 사용자의 위치 정보 획득 후 지도 위치 변경
- 사용자가 위치 장소의 500미터 내에 있는 카페, 도서관 정보를 마커로 GoogleMap에 표시
#### 📷 View
PIC1 : 현재 내 위치
PIC2 : 근처 카페 찾기
PIC3 : 근처 도서관 찾기
### 보상
- 화면 상단에 달성률이 100%인 목표의 개수 출력 (3개월에 한 번씩 초기화)
- 받을 수 있는 보상의 배지 개수 옆에 선물 표시 출력
#### 📷 View
PIC1 : 보상 추가
PIC2 : 보상