Skip to content

juhwankim-dev/pushNotificationApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


아냥이

아냥이는 안양대학교 학생들을 위한 공지사항 푸시 알림 서비스 앱 입니다.

Installation

Goole Playstore

Release Note

Version Release Date Changes Detail
v1.1.0 2021.03.29 더 다양한 공지사항 확인, 연락처 검색, MVVM 구조로 변환 / 버그 수정 Blog
v1.1.1 2021.08.03 연락처 무한 로딩 버그, 앱 강제 종료 버그 수정 Blog
v1.2.0 2022.06.12 홈페이지 리뉴얼 대응, 스크롤 딜레이 제거, 리팩터링(Clean Architecture, Hilt 등) Blog
v1.2.1 2022.06.16 공지사항 검색, 건의하기 구현 / 푸시 알림 버그 수정

Features

  • 여기저기 흩어져 있는 공지를 한 곳에서 확인
  • 키워드를 등록하면 공지가 올라왔을 때 푸시알림을 받음
  • 부서 연락처를 빠르게 검색
  • 학사 일정을 간편하게 확인

Screenshot

Flow Chart

Project Architecture

ViewModel, LiveData, Repository을 사용하여 MVVM 구조 기반으로 앱을 제작하였습니다.

크게 Data, Domain, Presentation로 나누고 Clean Architecture를 적용하여 의존성을 낮췄습니다.

Tech

적용한 기술들을 나열하였습니다.

  • Jetpack

    • Data Binding
    • LiveData
    • Navigation
    • Paging
    • Room
    • ViewModel
    • Multidex
  • Third Party

    • Firebase (FCM, Auth, Database)
    • Retrofit2
    • Dagger Hilt
    • Jsoup
    • Glide
    • Kotlin Coroutine
    • Lottie
    • Room
    • Shimmer
    • Inko
  • UI

    • ConstraintLayout
    • MaterialDesign
    • RecyclerView
    • Fragment
    • ViewPager2
    • TabLayout
    • WebView
    • SearchView
    • Segmented button (custom)
    • Transition animation
  • ETC

    • Clean Architecture
    • BindingAdapter
    • Push Notification
    • BaseXXX Pattern

Problem

앱을 제작하며 맞닥뜨린 문제들을 고민하고 해결했던 과정을 기록해두었습니다.

Problem Blog Link
Token값 노출 https://todaycode.tistory.com/16
Firebase 보안 https://todaycode.tistory.com/19
크롤링 방법 https://todaycode.tistory.com/21
UI https://todaycode.tistory.com/14
FCM 푸시 알림 https://todaycode.tistory.com/8
크롤링 봇 제작 https://todaycode.tistory.com/11
Server https://todaycode.tistory.com/22
푸시알림 방식 https://todaycode.tistory.com/9

License

Copyright 2021 Juhwan Kim

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

문의 및 건의사항은 이메일로 보내주세요. juhwan.dev@gmail.com