- 해커톤명 : 홍드로이드 앱 개발 해커톤 대회 (홍커톤)
- 해커톤 주최 : 홍드로이드
- 팀명 : 어드민
- 기간 : 2021.01.04 ~ 2021.01.25
- 발표 : 2020.01.30
- 최종 순위 : 3위
- 본 서비스는 시험을 준비하는 학생 혹은 수험생이 공부에 필요한 플래너, 타이머, 그리고 커뮤니티 서비스를 제공한다.
- '헤르만 에빙하우스의 망각곡선'와 같이 일정 기간 동안 복습을 하지 않으면 학습 내용을 잊게 되는 문제가 발생한다. 그리하여 학습자가 복습 주기를 설정하면 자동으로 이를 플래너에 추가해주는 등 해야될 공부 내용을 자동으로 플래너에 추가해준다.
- D-day를 설정할 경우, 플래너에 자동으로 표시된다.
- 자신이 공부한 시간을 기록할 수 있다.
- 과목마다 다른 시험 시간을 매번 설정할 필요없이, 사전에 한 번만 설정해두면 버튼으로 바로바로 조작이 가능하다.
- 자신이 필요한 정보를 바로바로 접할 수 있도록 자신이 원하는 주제의 게시판을 직접 만들 수 있으며, 게시글 작성도 가능하다.
- 위 그림과 같이 계획을 추가하면 해당 일자 목록에 추가된다.
- 위 그림과 같이 D-day를 설정하면 'D-4'에서 'D-2'로 변경된다.
- 위 그림과 같이 '시작' 버튼을 터치하면 공부시간을 측정하고 기록할 수 있다.
- 위 그림과 같이 기록된 공부시간을 확인할 수 있다.
- 위 그림과 같이 시험에 대한 타이머를 추가할 수 있다.
- 위 그림과 같이 추가된 목록에서 해당 타이머를 선택하면 시험 타이머가 작동한다.
- 위 그림과 원하는 수험생이 과목들을 추가할 수 있다.
- 위 그림과 같이 게시판 목록을 확안하고 본인이 원하는 게시판을 추가할 수 있다.
- 위 그림과 같이 게시판 내부의 게시글을 확인하고 게시글을 작성할 수 있다.
- 위 그림과 같이 게시글의 세부 내용을 확인할 수 있다.
- 위 그림과 같이 회원가입과 로그인을 통해 애플리케이션을 이용할 수 있다.
- 위 그림과 같이 마이페이지에서 본인이 작성한 글과 댓글을 포함한 다양한 정보를 확인하고 자동 로그인 및 닉네임을 변경할 수 있다.
- MVC Pattern 적용하면서 프로젝트를 진행했다.
- Data와 View를 연결하는 역할의 Adapter들을 분류한 Package이다.
- BoardRecyclerViewAdapter : Firestore에서 게시판 목록을 읽어와 표시해주는 Adapter이다.
- CommentRecyclerViewAdapter : Firestore에서 게시글의 댓글을 읽어와 표시해주는 Adapter이다.
- MyCommentCommentRecyclerViewAdapter : Firestore에서 내가 쓴 댓글을 게시글별로 분류하여 표시하는 Adapter이다.
- MyCommentRecyclerViewAdapter : Firestore에서 내가 댓글을 작성한 게시글을 표시하는 Adapter이다.
- MyPageViewPagerAdapter : 마이페이지의 내가 쓴 글/내가 쓴 댓글 뷰페이저를 구현하는 Adpater이다.
- OnStudyTimerItemClickListener : 공부 타미어와 관련된 내부의 Item을 터치하기 위한 Adapter에서 사용되는 Interface이다.
- OnTestTimerItemClickListener : 시험 타이머와 관련된 내부의 Item을 터치하기 위한 Adapter에서 사용되는 Interface이다.
- PlannerRecyclerViewAdapter : Firestore에서 플래너 목록을 읽어와 표시해주는 Adapter이다.
- PostRecyclerViewAdapter : Firestore에서 게시판별 게시글을 표시하는 Adapter이다.
- StudyTimerRecyclerViewAdpater : Firestore에서 공부 시간 목록을 읽어와 표시해주는 Adapter이다.
- TestTimerRecyclerViewAdapter : Firestore에서 시험 타이머 목록을 읽어와 표시해주는 Adapter이다.
- TimerPagerApdater : Timer내부의 뷰페이저를 구현하는 Adapter이다.
- 사용자에게 수월하게 보여지기 위해서 사용되는 설정을 분류한 Package이다.
- AppGlide : URL를 통한 ImageView 표시를 수월하게 사용하기 위한 Class이다.
- stickyScrollview.kt : ScrollView와 TabBar를 수월하게 연결해서 사용하기 위한 Class이다.
- 각 기능에 맞게 Data들을 나타내기 위해 분류한 Package이다.
- BoardData : 게시판에 대한 Data를 구성하는 Class이다.
- CommentData : 댓글에 대한 Data를 구성하는 Class이다.
- PlannerData : 플래너에 대한 Data를 구성하는 Class이다.
- PostData : 게시글에 대한 Data를 구성하는 Class이다.
- StudyTimerData : 공부 타이머에 대한 Data를 구성하는 Class이다.
- TestTimerData : 시험 타이머에 대한 Data를 구성하는 Class이다.
- 게시판에서 사용되는 화면들을 분류한 Package이다.
- AddBoardActivity : 게시판 추가에 대한 Activity이다.
- CommunityFragment : 커뮤니티에 대한 Fragment이다.
- PostDetailActivity : 게시글 세부 정보에 대한 Activity이다.
- PostListActivity : 게시글 목록에 대한 Activity이다.
- PostWriteActivity : 게시글 작성에 대한 Activity이다.
- 회원가입 및 로그인에서 사용되는 화면들을 분류한 Package이다.
- JoinActivity : 회원가입에 대한 Activity이다.
- LoginActivity : 로그인에 대한 Activity이다.
- 마이페이지에서 사용되는 화면들을 분류한 Package이다.
- MyPageFragment : 마이페이지에 대한 Fragment이다.
- PrivateSettingsActivity : 마이페이지에서 개인 설정에 대한 Activity이다.
- 플래너에서 사용되는 화면들을 분류한 Package이다.
- AddPlanActivity : 플래너에서 계획을 추가에 대한 Activity이다.
- PlannerFragment : 플래너에 대한 Fragment이다.
- 타이머에서 사용되는 화면들을 분류한 Package이다.
- StudyTimerFragment : 공부 타이머에 대한 Fragment이다.
- TestTimerFragment : 시험 타이머에 대한 Fragment이다.
- TimerFragment : 타이머에 대한 Fragment이다.
- TimerHistoryActivity : 공부 시간의 기록에 대한 Activity이다.
- Constants.kt : 애플리케이션을 개발할 때 사용되는 상수와 함수에 대한 Kotlin 파일이다.
- MainActivity : SplashActivity 뒤에 나타나는 메인 화면에 대한 Activity이다.
- SplashActivity : 애플리케이션이 시작될 때 나타나는 Splash에 대한 Activity이다.
- 복습 주기 및 종료 일자 반영
- 목록에서의 수정 및 삭제 반영
- 기타 버그 수정
- Android(Java & Kotlin)
- Firebase