Giter Club home page Giter Club logo

droidknights2020_app's People

Contributors

ashtonyoon avatar bsscco avatar ddaeyeonkim avatar fornewid avatar jiyoung9310 avatar kts6056 avatar laco-dev avatar lagojin avatar leeyc09 avatar lhoyong avatar mkw8263 avatar naufalprakoso avatar omjoonkim avatar pish11010 avatar pluu avatar seunghee63 avatar sjjeong avatar yands11 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

droidknights2020_app's Issues

디펜던시 누락으로 인한 빌드 실패

Overview (Required)

  • swiperefresh 디펜던시 누락으로 인한 빌드 실패

Steps To Reproduce

  1. 빌드

Expected behavior
빌드성공

Screenshots

Env:

  • Device: [e.g. Pixel3]
  • OS: [e.g. 9.0]
  • App Version or the branch [e.g. 0.1.0 or master]

Additional context
Any other notes

세션 리스트에 tag 표시하기

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 리스트에 tag 를 표시합니다.
  • 데이터는 Session 데이터클래스에 있는 'tag' 필드에 있는 값을 활용합니다.

스크린샷 2020-02-25 오전 1 40 19

  • tag 디자인 컬러는 랜덤으로 표시합니다.

Links

스폰서 회사 로고 이미지 표시

Kind (Required)

  • Improvement

Overview (Required)

  • 스폰서 페이지에 회사 로고를 표시합니다. height = 50dp
  • 이미지 리소스 drawable-xxxhdpi 에 위치

스크린샷 2020-02-07 오후 3 06 41

+추가

  • 순서는 다이아 > 플레티넘 > 골드 순으로 배치합니다.
    다이아 : 토스
    플레티넘 : 헤이딜러, 라인, 리멤버
    골드 : 강남언니, 네이버, 마이리얼트립, 카카오페이 ,vcnc

Links

오픈소스 라이브러리 소개 페이지 추가

Kind (Required)

  • Improvement

Overview (Required)

  • mypage 페이지에 오픈소스 라이브러리 리스트를 보여줄 버튼을 추가합니다.
  • 새 창이 뜨면서 앱 구현에 사용된 오픈소스 라이브러리를 보여줍니다.

Links

세션 북마크 저장 기능 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 세션의 북마크 아이콘이 선택된 상태들을 내부 DB에 저장합니다.
  • 북마크의 아이콘 상태는 앱을 껐다가 다시 켜도 유지되어야 합니다.
  • 북마크 체킹된 세션들만 모아서 결과를 확인할 수 있어야 합니다.

Links

스폰서 이미지 갱신

Kind (Required)

  • Other

Overview (Required)

  • 원본 스폰서 이미지의 규격이 없습니다.
    • 예) 이미지마다 여백 포함 여부가 상이합니다.
  • 통일된 이미지 형태로 정리된 이미지 처리가 필요합니다.

세션 페이지 refresh 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 스케줄표 리스트에 pull to refresh 동작을 구현합니다

Links

세션리스트 refresh 실행 시, 새로운 데이터 가져오기

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 리스트의 정보가 실시간으로 변경될 수 있습니다. (Cloud Firestore에 연동)
  • 세션 리스트를 pull to refresh 하면 네트워크 연결 상태일 경우, 새로운 데이터를 서버로부터 받아와서 내용을 업데이트 합니다.
  • 네트워크 연결 상태가 아닐 경우, 캐싱 데이터로 표시합니다.

Links

티켓 사이트 링크 추가하기

Kind (Required)

  • Improvement

Overview (Required)

  • '프로필' 페이지에 행사 티켓 판매 사이트로 연결되는 링크를 추가한다.
  • 행사 티켓 배너를 표시한다.
  • 클릭 시 웹 브라우저를 띄운다.

Links

  • festa 링크 필요
  • 배너 디자인 필요

커스텀 폰트 적용

Kind (Required)

  • Improvement

Overview (Required)

  • 커스텀 폰트 적용 (나눔 스퀘어)

Links

Gradle version up

Kind (Required)

  • Other

Overview (Required)

  • 현재 최신 Android Studio 버전인 4.0.1 기준으로 빌드하기 위해 Gradle 버전을 맞춰서 올립니다.

세션 리스트 시간순 정렬하기

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 리스트를 세션 시작 시간 기준으로 빠른 순 정렬합니다.
  • 세션 시작 시간 데이터는 Session 데이터 클래스의 'time' 필드를 참고합니다.
  • 만약 세션 시작 시간이 같다면, 'track' 기준으로 정렬합니다.

Links

오픈소스 기여자 프로필 표시

Kind (Required)

  • Improvement

Overview (Required)

  • 이벤트정보 페이지에 드로이드나이츠 행사 앱에 기여해준 컨트리뷰터 분들의 프로필을 표시한다.

Links

참여 스폰서 재리스트업

Kind (Required)

  • Improvement

Overview (Required)

  • 드로이드나이츠 행사가 온라인으로 변경되면서 참여 스폰서도 다시 리스트업 필요합니다.
  • 토스, 헤이딜러, 카카오페이, vcnc 만 참여. 나머지 스폰서 데이터는 제거작업이 필요합니다.

Links

Update, Kotlin Coroutine

Kind (Required)

  • Improvement

Overview (Required)

  • Android 개발시 VIewModel에서 Coroutine을 사용하고 싶은 경우, CoroutineScope를 구현했습니다. 이것은 문제가 되는 패턴은 아닙니다. 그러나, AAC에서 올바른 Job에 대한 처리가 필요합니다.
  • 현재 아래 코드는 uiScope로 하나의 코루틴이 에러가 난 경우 다른 코루틴도 모두 취소가 되는 문제가 발생합니다.
  • 다양한 대안이 있지만, Google에서 제공하는 기본 패턴을 사용해볼 수 있습니다.
private val job = Job()
val uiScope = CoroutineScope(Dispatchers.Main + job)

Links

스폰서 XML Preview 갱신

Kind (Required)

  • Improvement

Overview (Required)

Preview (Add, 2020/02/13)

  • Preview로 나오는 형태는 실제 스폰서의 이름과 이미지를 노출하길 원합니다.

Links

Screenshot (변경 전)

변경전 변경후

세션 리스트 필터 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 리스트를 필터링 하는 기능을 추가한다.
  • 세션 리스트 하단의 floating button 을 클릭 시, 필터 페이지를 띄운다.
  • 필터 항목은 Session 데이터클래스에 있는 'tag' 필드를 전부 받아와서 표시해준다.

Links

세션 상세 페이지로 전환에 관련된 논의

Kind (Required)

  • Other

Overview (Required)

현재 Single Activity 구조에 BottomNavigationView와 Jetpack Navigation을 연결하여 화면 전환을 하고 있는데, SessionDetailFragment를 띄울 땐 새로운 창으로 보여졌으면 합니다.

  1. 이 때, Activity 위에 MainFragment를 두고 그 내에서 BottomNavigationView 화면전환 페이지와 SessionDetailFragment를 따로 관리할지
  2. 아니면 그냥 Single Activity 구조를 버리고 세션 상세는 새로운 Activity를 띄울지 고민이 됩니다. 🤔

Links

세션 리스트에 필터 버튼 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 페이지에 필터 플로팅 버튼을 추가합니다.
  • 필터 버튼을 클릭하면 필터 화면이 띄워집니다.
  • 세션 데이터에 tag 정보로 세션 리스트를 필터링합니다.

Links

세션 리스트 아이템에 speaker 이름 표시

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 리스트의 아이템 뷰에 speaker 이름을 표시합니다. (R.layout.item_session)
  • 데이터는 Session에 speakerName 을 통해 가져옵니다.
  • 타이틀과 Chip 사이에 TextView를 추가하여 "speaker 000" 이라는 String을 표시합니다.
  • textSize : 12sp

Links

Kotlin AndroidExtension 다이어트

Kind (Required)

  • Improvement

Overview (Required)

  • Kotlin AndroidExtension에는 Importing synthetic properties 처리가 존재합니다.
  • 위 기능으로 UI 접근을 손쉽게 가능하지만, 부가적인 이슈가 존재합니다. 그로 인해 Google측에서 권장하는 방법은 아닙니다. 또한 우리는 DataBinding이라는 좋은 수단을 사용하고 있습니다.
  • synthetic 를 제거하는 처리를 도입하고 싶습니다.

Links

제플린 디자인 가이드와 하단네비게이션 항목 다른 이슈

Kind (Required)

  • Improvement

Overview (Required)

  • 기존 코드에는 하단 메뉴가 정보 / 세션 / 스폰서 / 프로필

  • 제플린에는 이벤트 정보 / 세션 / 프로필 로 서로 상이한 문제가 있습니다.

  • '정보'와 '스폰서' 메뉴를 합쳐서 '이벤트 정보' 페이지 한 화면에 구현합니다.

Links

RecyclerView No Adapter attached; skipping layout

Overview (Required)

  • 페이지 전환 이후 뒤로가기를 통해 이전 페이지로 돌아온 경우 리사이클러뷰의 어댑터 에러가 발생하면서 리스트가 그려지지 않는다.

Steps To Reproduce

  • 이벤트 정보 -> 세션 or 프로필 -> 뒤로가기
  • 세션 -> 세션 상세보기 -> 뒤로가기(이 항목은 현재 master 기준에서는 확인이 어려울 수 있습니다)
  • 에러 발생 및 화면에 리스트가 그려지지 않음
E/RecyclerView: No adapter attached; skipping layout

Expected behavior

  • 정상적으로 화면에 리스트가 나타나야 함.

Screenshots

Additional context

  • observe를 통해 리스트를 받아오는 상황에서까지는 어댑터가 살아있는데, 이후 실제로는 그려지지 않고 있습니다.
  • DI나 베이스 쪽이 의심스러운데 계속 찾아봤지만 아직 원인을 찾지 못하였습니다 😭

세션 리스트 정렬 처리

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 리스트는 id 를 기준으로 A-Z 순으로 정렬합니다.

Links

스폰서 로고 클릭 이벤트 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 스폰서 페이지에서 로고를 클릭하면 해당 url로 이동하면서 웹뷰를 띄웁니다.
  • 외부 브라우저를 통해서가 아닌, 앱 내부에 웹뷰로 링크를 이동시키도록 합니다.

Links

Fix project codestyle share

Kind (Required)

  • Other

Overview (Required)

  • 현재 공용의 CodeStyle이 프로젝트 내부에 없습니다
  • 우리는 동일한 형태의 코드를 작성하고 싶습니다.
  • 프로젝트의 스타일을 추가할 필요가 있습니다

Style

  • Android 표준 스타일 (Support Java, Kotlin, XML)

"일정" 페이지에 캘린더 UI 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 일정 페이지에 캘린더를 추가한다
  • 캘린더는 월 단위로 표시된다
  • 두가지 종류의 컬러로 뱃지가 표시되어야 한다 (영상 업로드일 표시, 라이브 날짜 표시)
  • 뱃지가 표시되어있는 날짜는 클릭이 가능하다
  • 캘린더 아래로 리스트가 나타난다.

Links

세션 북마크 아이콘 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 세션 리스트 아이템에 북마크 표시 아이콘을 추가합니다.
  • 사용자가 마음에 드는 세션을 북마킹하면 그것들을 모아볼 수 있도록 하기 위함입니다.
  • 북마크는 on, off 상태를 가집니다.

Links

  • 아이콘 디자인 필요

세션상세 정보에 video와 qna 링크 연결하기

Kind (Required)

  • Improvement

Overview (Required)

  • 세션상세정보 SessionDetailFragment 에 영상을 볼 수 있는 video link 와 질문을 남길 수 있는 QnA link를 표시한다.
  • Session 에 videoLinkqnaLink 를 추가한다. 둘다 String으로 데이터를 받아온다.
  • SessionDetailFragment에 시청 링크QnA 버튼을 추가한다. (정해진 디자인 없음)
  • 버튼 클릭 시, 브라우저를 띄워 해당 링크로 연결시킨다.
  • videoLink string이 빈값일 경우, "https://www.youtube.com/channel/UCjeUnwS8mHhsl600-nFJKmw" 로 연결시킨다.
  • qnaLink string이 빈값일 경우, "링크 준비 중" 이라는 토스트를 띄운다.

Links

각 페이지 프래그먼트 화면에 꽉차게 표현

Kind (Required)

  • Proposal
  • Improvement

Overview (Required)

  • 기존 Bottom Navigation과 각 페이지 프래그먼트 사이에 몇 가지 이슈가 있습니다.
  1. 프래그먼트와 Bottom Navigation이 Constraint로 붙어있어 배경색 지정의 어려움
    (Bottom Navigation 밖의 주변 배경과 프래그먼트 배경이 따로 노는 현상)
  2. RecyclerView 같은 스크롤의 영역이 화면의 가장 밑이 아닌 경계선까지 잡히는 문제

Suggestion

  • 아래 스크린샷과 같이 변경 해 보았는데, 괜찮다면 PR 올려보고자 합니다.

Screenshot

Before After

Migration, Data Class

Kind (Required)

  • Improvement

Overview (Required)

  • Layered Architecture에서 모델을 공유하는 것은 간단한 방법일 수 있습니다.
  • SessionData/SpeakerData 는 ui package에 있지만, 실제로 그것은 ui를 위한 데이터가 아닙니다.
  • 순수한 도메인으로서 접근한 모델 대응이 필요합니다.
ui
├── SessionData.kt
└── SpeakerData.kt

수정할 내용

  • Data / UI Model 분리

세션 각 아이템이 "알림" 버튼 추가

Kind (Required)

  • Improvement

Overview (Required)

  • 세션의 각 아이템에 알림 버튼을 추가한다
  • 유저가 관심있는 세션에 대해서 업로드 알림을 받고싶을 경우, 알림버튼을 클릭할 수 있도록 한다
  • ScheduleAdapter에서 사용되고 있는 R.layout.item_session 에 버튼을 추가한다.
  • 버튼은 토글 형식이다 (on/off)
  • 아이콘은 svg 형식으로 변환하여 사용한다.

Links

Info 화면 디자인 입히기

Kind (Required)

  • Improvement

Overview (Required)

  • info 페이지에 디자인을 적용합니다.

Links

  • (waiting for design)

명칭 관련 논의

Kind (Required)

  • Other

Overview (Required)

SessionDetailViewModel에서 사용하는 getSessionFromFirestore에 관한 질문입니다.

  • VM은 사용되는 데이터가 어디에서 오는지 알 필요가 없습니다.
  • Source의 정보를 노출함으로서 해당 스펙에 맞게 구현하게 되므로, 관심분리가 필요합니다.

Links

Navigation SafeArgs 적용

Kind (Required)

  • Proposal
  • Improvement

Overview (Required)

  • 네비게이션 라이브러리를 사용함에 따라 SafeArgs를 적용하면 보다 좋은 퀄리티의 개발 참고자료가 될 수 있을 것 같습니다.
  • 현재 적용 대상: Session -> Session Detail
  • 추가로 기존 네비게이션 이동 방식을 destination -> action을 사용하도록 변경하면 좋을 듯 합니다.
    (#13 의 논의 결과에 따라 결정이 달라질 수 있겠네요. 💦 )

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.