Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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)

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 : 보상