Code Monkey home page Code Monkey logo

kt-oburie's Introduction


오부리


목차


앱 소개



  • 기간 : 2021.01 ~ 2021.06
  • 팀 구성 : android 1명
  • 역할 : 기획, 디자인, Android 앱 개발
  • 내용 : 음악인들을 위한 구인/구직 앱


오부리 주요 기술 스택

  • Kotlin
  • MVVM
  • Hilt
  • AAC
  • Retrofit2
  • Clean Architecture
  • Room
  • SharedPreferences
  • DataBinding
  • Coroutine


처음 적용해본 경험들

  • ViewHolder에 ViewModel을 전달
    • ViewModel의 코드를 바로바로 호출하면 되기 때문에 기존의 recyclerView의 이벤트 전달이 수월해짐
  • Camera Permission
    • 버전이 변경되면서 Android11부터 Camera Permission이 변경되었는데, 이 프로젝트를 통해 경험할 수 있었습니다.
  • 채팅화면 키보드 컨테이너 구현
    • 채팅할 때 파일첨부하는 컨테이너와 키드와 번갈아가며 사용할 수 있도록 구현
  • 기획과 디자인
    • 처음으로 플랫폼규모의 사이즈를 기획과 디자인을 해 봄
    • 처음이라 무슨 아이콘을 써야할지, 어떤 방식으로 구현해야할지, 상황에 따른 처리 등 여러가지를 생각해봐야 해서 어려웠지만 재미있었습니다.
    • 개발하랴 기획하랴 디자인하랴 힘들긴했지만 좋은 경험을 했고, 앞으로도 이런 경험을 계속 쌓을 예정입니다.


현재 코드의 문제점

  • Adapter를 ViewModel에서 생성하고 처리하고 있다.
    • 의문점 : 어느 OTT회사의 면접에서 Adapter는 View인가, Model인가 라는 질문을 받았다. 정답은 없지만 제 생각에는 View라고 판단을 했기 때문에, ViewModel에 있는 것보다는 View에 보여주는게 맞다 생각해 서 개선하기로 함.
    • 개선사항 : Adapter를 ViewModel에서 관리하지 않고, View에서 관리하도록 변경
  • 비슷한 레이아웃같은 경우 중복코드가 많이 생성됨.
    • 같은 기능, 같은 레이아웃인데 다른 화면에서 나오는 곳일 경우 ViewModel에 게속 같은 기능을 처리하는 코드와 레이아웃으로 구현되어 있어 유지보수하기가 힘들고 중복코드가 많이 생성됨.
    • 개선사항 : 상속으로 처리하여 중복코드를 최대한 제거

개선사항이 적용된 프로젝트 [동네잡일] (https://github.com/lakue119/TownChores)



그 외 앱 이미지

로그인



홈, 구인 카테고리 리스트 / 구인 상세 / 상대페이지



검색




구직 리스트 / 구직 상세


채팅



마이페이지


kt-oburie's People

Contributors

lakue119 avatar

Watchers

James Cloos avatar  avatar

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.