Code Monkey home page Code Monkey logo

android's Introduction

명식이 - 명지대의 식사를 책임지다! 👀

📌 Project Explanation

  • 명지대학교 인문캠퍼스에 MCC관이 생기면서 학식의 인기가 급증하였습니다. 학생들은 메뉴를 알기 위해 다른 커뮤니티를 참조하거나, 월요일 아침에 직접 가서 정보를 알아야만 했습니다. 따라서 명식이는 명지대학교 학생들의 편의를 제공하고자, 인문캠퍼스의 학식 정보를 제공하고, 맛을 평가하는 서비스입니다.

🍚 오늘 식단 : 오늘 하루의 식단 정보를 제공합니다.
🍱 주간 식단 : 이번 주 식단 정보를 제공합니다.
🍜 맛 평가 : 오늘 식단에 대해서 맛을 평가합니다.
📫 의견 작성 : 식단에 대한 구체적인 평가, 먹고싶은 음식 등 구체적인 의견을 작성할 수 있습니다.
💁 식당, 카페 추천 맟 검색 : 학교 주변 식당, 카페를 추천받고, 검색할 수 있습니다.
💘 찜꽁리스트 : 맛있었던 곳을 찜꽁리스트에 저장할 수 있습니다.

📌 Screen Shot

📌 Wiki(명식이 Android 팀의 기록)

[Architecture] Clean Architecture 도입의 고민 Writer - 윤성식

[Android JetPack] WokerManager와 Widget 도입 Writer - 곽의진

📌 App Architecture

스크린샷 2023-04-13 오전 9 50 09

📌 History

✔️ 2022년 10월 24일 Ver.1 (인문캠퍼스 식단제공 및 평가기능)
✔️ 2022년 11월 7일 Ver.2 (주변 식당 검색 및 추천, 찜꽁리스트기능)
✔️ 2023년 3월 6일 Ver.3 (자연캠퍼스 식당 4곳 추가, 리뷰기능)
✔️ 2023년 3월 27일 Ver.4 (홈화면 개편, 식당 찜꽁리스트 순위 기능 개발, 크래시대응)
✔️ 2023년 4월 24일 Ver.5 (거리순, 랭킹순 식당조회, 맛집 지도, 위젯으로 식단 조회 기능 개발, 크래시대응)
✔️ 2023년 5월 14일 Ver.6 (홈화면 개편, 구글애드몹 추가, 맛집 지도 아이콘 순서 수정)
✔️ 기능 추가 및 유지보수 예정

📌 기술 스택(Tech Skill)

Category Stack
Architecture MVVM, Clean Architecture
Android Jetpack ViewModel, LiveData, Navigation, Room, Paging, View Binding, ViewPager2
Dependency Injection Hilt
Networking Retrofit2, OkHttp3
Asynchronous Coroutine, Flow, StateFlow
Local DB Room, DataStore
Background AlarmManager, WorkManager
Firebase Crashlytics

android's People

Contributors

ssongsik avatar kwakeuijin avatar d00hye avatar android-seongsik avatar android-kwakeuijin avatar

Stargazers

Jungwoo Kim avatar 조정미 avatar Lee seung hak avatar Chang chae eun avatar sojungpp avatar dev.choi28 avatar  avatar 유진 avatar Mingyu Kim avatar HyunWoo Lee (Nunu Lee) avatar Woongcheol Shin  avatar 정한 Rycont avatar 한규범 (Ryan) avatar 차유상 avatar Junsu Park avatar  avatar  avatar  avatar 이은비 avatar

android's Issues

[refactor] : 클린아키텍쳐, StateFlow 마이그레이션

변경 이유

  • 현재의 구조가 객체지향에서 추구하는 SOLID원칙을 위배한다고 판단
  • 클린아키텍쳐를 통해 관심사를 분리하고, 유지보수에 용이하게끔 프로젝트를 리팩터링
  • usecase 단위로 domain 기능을 분리할 예정
  • LiveData -> StateFlow 로 마이그레이션

[fix] ViewModel 관심사 분리

이슈사항

  • 앱이 점점 커질수록 MainViewModel 의 코드가 길어짐
  • 따라서 관심사별로 ViewModel을 분리하고자함

[fix] (pending)식당 검색 후 뷰의 부자연스러움 이슈

재현상황

  1. 식당 검색
  2. 바로가기로 웹 뷰 접속
  3. 백버튼 클릭시 검색창은 닫혀지면서 결과만 남겨져있음

해결해야할 상황

  1. 식당 검색
  2. 바로가기로 웹 뷰 접속
  3. 백버튼 클릭시 검색어가 그대로 남아있으면서 결과도 그래도 남겨져 있어야함

[refact]디자인 변경

bottom nav 색상 변경
빈 찜콩리스트 텍스트 변경
search 뷰 변경 - 검색창 부분

[feat] BaseFragment 작성

이슈사항

  • Single Activity 구조로서 Fragment가 계속 많아지면서 BaseFragment를 작성하고자함
  • #66 이 이슈는 BaseViewModel, BaseFragment, BaseResponse 까지 작성이 되면 이슈를 닫을게요

[refator]: 안드로이드 아키텍쳐 기반의 리팩터링

현재 구조의 문제점

  • 안드로이드 아키텍쳐로 마이그레이션 중 StateFlow를 활용하고자 하는 부분에서 구조적으로 문제 발생
  • 관심사의 분리가 되어있지 않음
  • 레이아웃 구조
  • 통일적이지 않은 비즈니스 로직
  • 중복된 로직의 Util화 및 확장함수화 부족

해결 방법

  • UI State 패턴을 활용하여 로직 통일화
  • Compose 마이그레이션
  • 중복 로직 제거

해결 과정

  • 이슈를 하나씩 생성하여 해당 문제들을 차근차근 고쳐나가 보기
  • 컴포즈로 화면을 하나씩 교체해보기

[fix] 2.2.6 크래시대응

이슈사항

  • connectException 처리
  • 낮은 OS에서의 검색

다음 2.2.7버전에서 대응해서 나가야 할 것 같습니다.
Firebase 크래시 확인해주세용

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.