GithubHelp home page GithubHelp logo

droidknights / droidknightsapp Goto Github PK

View Code? Open in Web Editor NEW
249.0 11.0 68.0 95.7 MB

국내 최대 규모 안드로이드 컨퍼런스 드로이드나이츠 앱

Home Page: https://www.droidknights.dev

Kotlin 100.00%

droidknightsapp's Introduction

�banner

DroidKnights App

드로이드나이츠는 기술 세션으로 개발자들의 경험을 공유하는 안드로이드 컨퍼런스입니다.

Guide

Contributions Welcome!

드로이드나이츠 행사 정보를 볼 수 있는 앱을 개발하고 있습니다. 여러분들의 참여로 함께 만들어 나가길 기대합니다!

자세한 내용은 CONTRIBUTING.md 를 참고해 주세요.

Design

Figma에서 디자인을 확인하실 수 있습니다.

Development

Required

  • IDE : Android Studio 최신 버전 (Download)

  • JDK : Java 17을 실행할 수 있는 JDK

    • (권장) Android Studio 설치 시 Embeded 된 JDK (Open JDK)
    • Java 17을 사용하는 JDK (Open JDK, AdoptOpenJDK, GraalVM)
  • Kotlin Language : 2.0.0

Language

  • Kotlin

Libraries

  • AndroidX

    • Activity & Activity Compose
    • AppCompat
    • Core
    • Lifecycle & ViewModel Compose
    • Navigation
  • Kotlin Libraries (Coroutine, DateTime, Serialization)

  • Compose

    • Material3
    • Navigation
  • Landscapist & Landscapist Coil

  • Dagger & Hilt

  • Square (Retrofit, OkHttp)

Test & Code analysis

  • Compose Test(UI, Navigation)
  • JUnit4
  • Mockk
  • Turbine
  • Kotest
  • Detekt

Gradle Dependency

Gradle Version Catalog 를 활용하여 종속성과 플러그인을 관리하고 있습니다.

자세한 내용은 libs.versions.toml 를 참고해 주세요.

Architecture

Layer

본 프로젝트는 Layered Architecture 형태로 설계되어 있습니다. 현재 Presentation/Domain/Data 레이어 구조를 띄고 있습니다.

img

UI Layer

상태는 아래로 이동하고 이벤트는 위로 이동하는 단방향 데이터 흐름(UDF)으로 구성되어 있습니다.

img

Module

본 프로젝트는 Multi-module 구조이며 각 Feature마다 모듈 형태로 구성되어 있습니다.

Module Graph 생성 방법

1. 그래프를 시각화하는 오픈소스 설치
- brew install graphviz (예시 Homebrew)

2. 그래프 생성 Gradle Task 실행
./gradlew projectDependencyGraph

Thanks

참여해주신 모든 분들 감사합니다!

droidknightsapp's People

Contributors

chattymin avatar cjsghkd avatar easyhooon avatar gowoon-choi avatar hambp avatar jaesungleee avatar jeongth9446 avatar jeonk1 avatar kimready avatar kisa002 avatar koreatlwls avatar kwakeuijin avatar kwondae avatar l2hyunwoo avatar laco-dev avatar malibinyun avatar onseok avatar parkjong-hun avatar pluu avatar rhkrwngud445 avatar sodp5 avatar taeheel avatar taehwandev avatar theo-taehwan avatar tmdgh1592 avatar toastmeister1 avatar wisemuji avatar workspace avatar yjyoon-dev avatar yuuuzzzin 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

droidknightsapp's Issues

[Main] 메인 화면에서 Home UI를 보여주기

Kind (Required)

  • feature

Overview (Required)

  • Navigation 이용해서 탭 전환
  • app모듈에서 MainActivity를 가지는게 아닌 feature 모듈에서 다른 feature를 사용해야 하는 상황
  1. feature:main 모듈이 다른 feature를 의존한다
  2. Navigation 구조를 이용해 NavGraphBuilder 전달

KnightsCard 클릭 로직 개선

Kind (Required)

  • Improvement

Overview (Required)

  • 공통으로 사용하는 KnightsTheme가 항상 클릭가능하도록 되어 있어 클릭 효과를 제거하는 기능 추가

[Home] 후원사 카드 UI

Kind (Required)

  • Feature
  • UI

Overview (Required)

image

  • 시안 참고해서 카드 형태의 UI로 재구성 필요

TopAppBar를 UI 시안에 맞게 개선

Kind (Required)

  • Improvement

Overview (Required)

  • Material TopAppBar의 경우 높이를 비롯해 제약사항을 가지고 있어 커스텀 TopAppBar를 구현

[Session] 세션 목록 기본 UI

Kind (Required)

  • Feature
  • UI

Overview (Required)

image

스크롤 하는 경우 트랙 탭이 보이게
(세션이 적으면 탭 기능 없어도 상관없을 것 같아요)

Links

[Session] 세션 목록 json 채워넣기

Overview

  • 확정된 발표자 목록 기준으로 json 일괄 추가
  • 내용은 Fake 데이터로 추가하고 확정된 내용 기반으로 발표자 목록 우선 추가

Retrofit 설정

Kind (Required)

  • Feature

Overview (Required)

  • Retrofit 초기 설정
  • DI 추가

[designsystem] 폰트 스타일 재정의

Kind (Required)

  • Improvement
  • UI

Overview (Required)

image
  • 정의된 스타일 가이드에 맞게 Font Weight별로 스타일을 변경한다.
  • 폰트 스타일 사용처에서 올바르게 사용하는지 점검한다.

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.